【问题标题】:How to count all items in the cells of a column in Google Sheets?如何计算Google表格中一列单元格中的所有项目?
【发布时间】:2021-03-01 12:12:48
【问题描述】:

有人可以帮我处理我的 Google 表格吗?基本上,我需要它来计算所有项目,包括单元格中重复的项目。截至目前,它没有考虑到它们。我已将错误的结果标记为红色。

我正在使用 COUNTIF 和 COUNTIFS 函数。也许还有其他更好的选择。 任何帮助表示赞赏。

https://docs.google.com/spreadsheets/d/1lDB0eSt7J5fUFnDm0QuBv-ampXN8NTWN0ofBVqj9TQQ/edit?usp=sharing

【问题讨论】:

  • COUNTIFS 计算有多少 细胞 满足您的条件。您在同一个单元格中有 2 个值,但它们只计为 1。单元格 B7= "Mini Notebook Pink + Mini Notebook Blue" 将这些值分成 2 个不同的单元格
  • 除了上面的评论,你用来计算“笔记​​本封面”实例的公式是“包含‘笔记本封面’并且不包含‘迷你’”——这将失败如果你有一个像“笔记本封面紫色+迷你笔记本粉色”这样的单元格。您需要将每个值分隔到不同的单元格中。

标签: google-sheets google-sheets-formula spreadsheet


【解决方案1】:

你可以试试:

E2中的公式:

=ARRAYFORMULA(COUNTIF(TRIM(REGEXREPLACE(SPLIT(TEXTJOIN("+",TRUE,B$2:B$20),"+"),"(?:Purple|Blue|Pink|Green)","")),D2))

请注意,我稍微更改了 D 列的值,以便它们实际上与 B 列中的值匹配。

【讨论】:

  • 考虑得很好。我冒昧地扩展了你的公式。请看一看。
  • 非常感谢!它完美地工作!但是,如果统计数据和订单在不同的表格中,你能告诉我应该对公式做什么吗?链接到修改后的电子表格:docs.google.com/spreadsheets/d/…
  • 您只需更改#REF 错误以包含正确的引用。老实说@Earthlien,这真的是基本的GS东西。删除公式中的错误,然后转到包含数据的选项卡并选择适当的范围。 GS 也会自动更正它以引用工作表。
  • 成功了!非常感谢,@JvdV!我对这些东西很陌生。只是想收集这些 GS 的东西 :) 再次感谢!
【解决方案2】:

JvdV 给出的answer 中非常漂亮的公式,列表的其余部分需要向下拖动。

扩展公式

您可以通过在单元格G1 中尝试以下操作来进一步扩展

=QUERY(TRANSPOSE(INDEX(TRIM(REGEXREPLACE(SPLIT(TEXTJOIN("+",TRUE,B:B),"+"),"(?:Purple|Blue|Pink|Green)","")))),
            "select Col1, count(Col1) where Col1<>''
             group by Col1 label count(Col1) 'QTY' ",1)

优点

  1. 适用于所有现有和所有未来产品的单一自扩展公式
  2. 所有产品都按字母顺序排列
  3. 不需要额外的列D手动写入所有产品。这样可以避免人为错误

缺点

  1. 如果您只需要其中一些产品(例如笔记本电脑),那么所有产品都被计算在内的事实将是一个问题。

【讨论】:

  • 哦,哇!这很方便。谢谢!但是是否有可能避免按字母顺序排列(不幸的是,在我的情况下不希望这样做)?如果统计数据和订单在不同的工作表中,应该如何处理您的公式?链接到修改后的电子表格:docs.google.com/spreadsheets/d/…
【解决方案3】:

您需要创建一个数组,每个元素中只有一行。 然后就可以使用Filter函数了。

创建数组:

split(textjoin(char(10),true,B:B),char(10))

然后,过滤和计数:

=counta(filter(split(textjoin(char(10),true,B:B),char(10)),isnumber(find("Mini Notebook",split(textjoin(char(10),true,B:B),char(10)))),not(isnumber(find("cover",split(textjoin(char(10),true,B:B),char(10)))))))

您可以对其他行使用类似的逻辑。

请注意,Find 区分大小写。如果您不希望这种行为,请使用Search

【讨论】:

    猜你喜欢
    • 2021-11-07
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多