【问题标题】:How Do I Exclude Certain Data Types in a Range in Google Sheets?如何在 Google 表格的某个范围内排除某些数据类型?
【发布时间】:2022-01-01 04:11:07
【问题描述】:

我到处找这个。我有一张将消息分成几列的工作表。它是这样的。

On the left column, the message to be split is placed. On the columns to the right the message is split so the person is in 1 column and their number is in the column to the right of that.

在另一张表中,我有一个 UNIQUE() 函数来收集所有唯一名称但没有数字。我通过执行 UNIQUE(FLATTEN()) 并手动键入所有没有数字的范围来做到这一点。我的问题是:有没有办法让我跳过带有数字的列并将一堆范围串在一起,我可以使用一个包含数字和名称但也忽略仅是数值的单元格的范围吗?

【问题讨论】:

  • 公式是根据具体情况编写的,在这一点上,我们没有。您能否至少提供包含原始数据的实际工作表名称和包含数据的范围?
  • @ErikTyler 该函数在名为“TOTALS”的工作表中:UNIQUE(FLATTEN())。消息及其拆分位置在名为“LOGGING”的工作表中如下所示:Split Message。我不得不使用其他每一列作为范围,这既费时又乏味。另外,如果我想改变一些东西,我必须改变所有令人讨厌的范围。所以我想选择整个范围(带有数字和名称),但只忽略只有数值的单元格。
  • 您已检查“player0”的帖子和解决方案是否正确;我看到你们两个在工作表上进行了互动。这是否意味着您的问题现在已经完全解决了?
  • 以防万一,我在下面添加了另一个解决方案,它返回的结果格式与我在使用 player0 后在您的工作表中看到的格式不同。
  • 感谢您的帮助!问题解决了,是的。

标签: google-sheets unique transpose flatten google-query-language


【解决方案1】:

尝试:

=UNIQUE(QUERY(FLATTEN(C2:H), "where not Col1 matches '^\d.+'", 0))

更新:

=QUERY(UNIQUE(FLATTEN(FILTER(LOGGING!D2:Z, 
 MOD(COLUMN(LOGGING!D2:Z), 2)=0))), "where Col1 is not null", )

【讨论】:

  • 这可行,但它会忽略所有名称并采用与我需要的相反的数字。有没有办法修改它以适应它?
  • @Anxietie 你能分享一份你的工作表的副本/样本吗?
  • 当然。 Sample
  • 非常感谢!
【解决方案2】:

看起来 player0 已经为您提供了一个可行的解决方案。我将添加另一个,我目前在您的工作表中没有看到它的结果。

我在 A1 中添加了一个带有以下公式的新工作表(“Erik 帮助”):

=ArrayFormula(QUERY(IFERROR(SPLIT(FLATTEN(SPLIT(PROPER(LOGGING!B3:B), ", ", 0)), ":")), "Select Col1, SUM(Col2) WHERE Col1 Is Not Null GROUP BY Col1 LABEL Col1 'Name', SUM(Col2) 'Total'"))

这会生成两列,其中包含标题和所有结果。它仅使用来自 LOGGING!B:B 的原始原始数据,并跳过中间数据分解,直接从原始数据开始一步。

【讨论】:

    猜你喜欢
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-24
    • 2017-07-26
    相关资源
    最近更新 更多