我有几行包含文本的单元格。
它们的格式都是这样的。
A1:我的妻子有2个苹果,我有4个苹果 A2:我的狗喜欢3个苹果,我有2个苹果 A3:我们有1个苹果我想通过" FIND"来传递每个行/单元格文本。公式并返回文本中提到的每行苹果总数。
我有以下内容,但它只匹配" apple"。
的第一个实例=IFERROR(MID(B305,FIND("apple",B305,1)-7,1),"")
任何人都可以帮我解决这个(看似简单的)问题吗?
答案 0 :(得分:1)
使用此公式:
=(LEN(A1)-LEN(SUBSTITUTE(A1,"apple","")))/LEN("apple")
根据需要拖动/复制。见图片以供参考。
注意: SUBSTITUTE
是一个区分大小写的函数,如果apple
在公式中用作Apple
,则结果不正确,正如@ gms0ulman在评论中指出的那样。因此可以使用以下公式。
=(LEN(A1)-LEN(SUBSTITUTE(UPPER(A1),UPPER("Apple"),"")))/LEN("Apple")
答案 1 :(得分:1)
我不清楚你是否想要返回提到苹果的次数,或者该行中苹果的总数。
如果您想要该行中的苹果总数,请尝试使用此公式(请注意,我们必须分别搜索apples
和apple
)。
首先输入命名公式(Formula --> Define Name
)
,其中
seq_99 Refers to =IF(ROW(INDEX(Sheet1!$1:$65535,1,1):INDEX(Sheet1!$1:$65535,255,1))=1,1,(ROW(INDEX(Sheet1!$1:$65535,1,1):INDEX(Sheet1!$1:$65535,255,1))-1)*99)
然后你可以使用这个公式:
C1: =SUM(IFERROR((TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",99)),seq_99,99))="apples")*TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",99)),seq_99-99,99)),0))+
SUM(IFERROR((TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",99)),seq_99,99))="apple")*TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",99)),seq_99-99,99)),0))
公式是数组公式所以必须通过按 ctrl + shift 输入 Enter
进入您可以根据需要填写。
公式