Excel:如何计算和添加查找结果的数量?

Excel:如何计算和添加查找结果的数量?,excel,Excel,我有几行单元格包含文本 它们都是这样格式化的 我妻子有2个苹果,我有4个苹果 我的狗喜欢3个苹果,我有2个苹果 我们有一个苹果 我想用“查找”公式遍历每一行/单元格文本,并返回文本中提到的每行苹果总数 我有以下内容,但它只匹配“apple”的第一个实例 有谁能帮我回答这个(看似简单的)问题吗?使用以下公式: =(LEN(A1)-LEN(SUBSTITUTE(A1,"apple","")))/LEN("apple") C1: =SUM(IFERROR((TRIM(MID(SUBSTITUTE($

我有几行单元格包含文本

它们都是这样格式化的

我妻子有2个苹果,我有4个苹果
我的狗喜欢3个苹果,我有2个苹果
我们有一个苹果

我想用“查找”公式遍历每一行/单元格文本,并返回文本中提到的每行苹果总数

我有以下内容,但它只匹配“apple”的第一个实例

有谁能帮我回答这个(看似简单的)问题吗?

使用以下公式:

=(LEN(A1)-LEN(SUBSTITUTE(A1,"apple","")))/LEN("apple")
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))
根据需要向下拖动/复制。请参阅图片以获取参考

注意:
SUBSTITUTE
是一个区分大小写的函数,如果在公式中将
apple
用作
apple
,则会给出不正确的结果,正如@gms0ulman在评论中指出的那样。因此,可以使用以下公式代替

=(LEN(A1)-LEN(SUBSTITUTE(UPPER(A1),UPPER("Apple"),"")))/LEN("Apple")
使用以下公式:

=(LEN(A1)-LEN(SUBSTITUTE(A1,"apple","")))/LEN("apple")
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))
根据需要向下拖动/复制。请参阅图片以获取参考

注意:
SUBSTITUTE
是一个区分大小写的函数,如果在公式中将
apple
用作
apple
,则会给出不正确的结果,正如@gms0ulman在评论中指出的那样。因此,可以使用以下公式代替

=(LEN(A1)-LEN(SUBSTITUTE(UPPER(A1),UPPER("Apple"),"")))/LEN("Apple")

我不清楚你是想返回苹果被提及的次数,还是该行的苹果总数

如果你想知道行中苹果的总数,那么试试这个公式(注意我们必须分别搜索
apples
apple

首先输入命名公式(
公式-->定义名称

在哪里

然后您可以使用以下公式:

=(LEN(A1)-LEN(SUBSTITUTE(A1,"apple","")))/LEN("apple")
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键来输入

你可以根据需要填写

公式

  • 将句子分成一个数组
  • 将数组中的每个元素与“apple”进行比较
  • 如果匹配,它将对前面的数组元素求和

我不清楚您是要返回苹果被提及的次数,还是要返回行中的苹果总数

如果你想知道行中苹果的总数,那么试试这个公式(注意我们必须分别搜索
apples
apple

首先输入命名公式(
公式-->定义名称

在哪里

然后您可以使用以下公式:

=(LEN(A1)-LEN(SUBSTITUTE(A1,"apple","")))/LEN("apple")
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键来输入

你可以根据需要填写

公式

  • 将句子分成一个数组
  • 将数组中的每个元素与“apple”进行比较
  • 如果匹配,它将对前面的数组元素求和

FIND
只能返回一个值。要返回多个值,可以使用helper列,每个列都使用上一个实例的起始值。
FIND
只能返回一个值。要返回多个值,可以使用helper列,每个列都使用前一个实例的起始值。注意:区分大小写。有趣。我猜他想要苹果的总数,所以会返回
B1:6
<代码>B2:5
B3:1
@RonRosenfeld-起初我甚至认为OP想要列中的总计数,但他的公式表明它只有一个单元格。我在他的问题中看到了这一行,即提到的苹果总数。我也会发布一个答案,我想他最终会澄清的。@RonRosenfeld-我更愿意在每行文字中提到苹果的重要性。但正如你所说,只有OP可以澄清。虽然我有+1。注意:区分大小写。有趣。我猜他想要苹果的总数,所以会返回
B1:6
<代码>B2:5
B3:1
@RonRosenfeld-起初我甚至认为OP想要列中的总计数,但他的公式表明它只有一个单元格。我在他的问题中看到了这一行,即提到的苹果总数。我也会发布一个答案,我想他最终会澄清的。@RonRosenfeld-我更愿意在每行文字中提到苹果的重要性。但正如你所说,只有OP可以澄清。虽然我给了你+1。