Excel:计算包含一个(或多个)特定字符串的单元格

问题描述 投票:0回答:1

我正在使用 Excel 2016,并且我有一个包含大量字符串的数据集,我需要找出给定范围内有多少个单元格(在本例中为“Geotech Data”!G:G)包含29 种不同字符串之一(CPT、DCP、Soakage、Clegg、Seismicity 等)。

我需要找到一种方法来计算至少存在一个字符串的单元格数量,确保不存在重复计算(有几种情况下,单个单元格中存在多个字符串) ,并且我需要能够在以后向搜索词列表中添加/删除字符串,因为我插入数据的程序会更改允许和不允许的数据类型。

我已经手动写出了浸泡、CPT、DCP 和 Clegg 的公式:

=(COUNTIF('Geotech Data'!G:G,"*CPT*")+COUNTIF('Geotech Data'!G:G,"*Clegg*")+COUNTIF('Geotech Data'!G:G,"*Soakage*")+COUNTIF('Geotech Data'!G:G,"*DCP*"))-((COUNTIFS('Geotech Data'!G:G,"*CPT*",'Geotech Data'!G:G,"*Clegg*")+COUNTIFS('Geotech Data'!G:G,"*CPT*",'Geotech Data'!G:G,"*Soakage*")+COUNTIFS('Geotech Data'!G:G,"*CPT*",'Geotech Data'!G:G,"*DCP*") + COUNTIFS('Geotech Data'!G:G,"*Clegg*",'Geotech Data'!G:G,"*Soakage*")+COUNTIFS('Geotech Data'!G:G,"*Clegg*",'Geotech Data'!G:G,"*DCP*")+COUNTIFS('Geotech Data'!G:G,"*Soakage*",'Geotech Data'!G:G,"*DCP*"))-((COUNTIFS('Geotech Data'!G:G,"*CPT*",'Geotech Data'!G:G,"*Clegg*",'Geotech Data'!G:G,"*Soakage*")+COUNTIFS('Geotech Data'!G:G,"*CPT*",'Geotech Data'!G:G,"*Clegg*",'Geotech Data'!G:G,"*DCP*")+COUNTIFS('Geotech Data'!G:G,"*Clegg*",'Geotech Data'!G:G,"*Soakage*",'Geotech Data'!G:G,"*DCP*"))-COUNTIFS('Geotech Data'!G:G,"*CPT*",'Geotech Data'!G:G,"*Clegg*",'Geotech Data'!G:G,"*Soakage*",'Geotech Data'!G:G,"*DCP*")))

但是考虑到仅双倍就需要 29! (3.04883E+29)不同的COUNTIFS语句,显然不可行。

相关信息位于数据透视表中,当我的组织获得新信息时,将定期添加该信息。我已经尝试过以下变体:

IF(ISNUMBER(SEARCH()))
IF(SUMPRODUCT(--(NOT(ISERR(SEARCH())))))
IF(COUNT(SEARCH()))
=ARRAYFORMULA(SUMPRODUCT(((ISNUMBER(SEARCH("CPT",'Geotech Data'!G:G))+ISNUMBER(SEARCH("DCP",'Geotech Data'!G:G))+ISNUMBER(SEARCH("Clegg",'Geotech Data'!G:G))+ISNUMBER(SEARCH("Soakage",'Geotech Data'!G:G)))>0)*1))
(当我试图单步执行它以找出问题所在时,最后一个使我的 Excel 崩溃了)

并且 CONCATENATE 也不是一个选项,因为数据集已经几乎 1000x11 了。

excel excel-formula countif excel-2016
1个回答
0
投票

“CONCATENATE 也不是一个选项,因为数据集已经几乎 1000x11”是什么意思,您的帖子似乎是在询问计算 G 列中给定字符串的实例数。

无论如何,您可以使用数组公式来完成,例如:

=SUM(--(MMULT(--ISNUMBER(SEARCH(TRANSPOSE(Sheet2!$A$1:$A$29), 'Geotech Data'!G:G)), ROW(Sheet2!$A$1:$A$29)^0) > 0))

在大数据集上它可能会非常慢。

© www.soinside.com 2019 - 2024. All rights reserved.