【问题标题】:Google Sheets/Excel: Is there a way to pull information from different columns depending on the value of another column?谷歌表格/Excel:有没有办法根据另一列的值从不同的列中提取信息?
【发布时间】:2020-09-29 17:33:02
【问题描述】:

我正在尝试在单独的工作表中创建数据摘要(响应),该工作表根据另一列中的值从计算列中提取值。

例如,我的数据输出在 C 列中有 Item Type,而 D:L 列是基于类型的项目描述。每行(响应)在 C 列中都有一个项目类型(例如,办公用品),然后根据该项目类型,在相应的列中有一个描述(例如,笔)(例如,办公用品项目描述 em>)。该行中的所有其他描述单元格都是空白的。

我想要的是将 D:L 中的数据汇总为一列(例如,项目描述)。换句话说,我想将 D:L 中的所有非空白单元格汇总在一列中。

我必须补充一点:我正在使用 Google 表格和来自 Google 表单的数据输出。每次向工作表添加新响应时,都会在前一行下方插入新行,因此使用参考单元格(例如 C2)似乎不起作用。

我是第一次在这里发帖,如果我需要提供更多信息,请告诉我。

例子:

响应数据

最终目标/总结

【问题讨论】:

  • 一张截图相当于1000字。
  • 好的,我已经添加了几个屏幕截图。
  • 也许 TEXTJOIN 会有所帮助。
  • 谢谢!这实际上可能是最简单的方法......只需解决行插入问题(使得引用单元格变得困难)。

标签: excel google-sheets


【解决方案1】:

你可以使用下面的宏来达到这个效果:

Sub Macro1()
'
' Macro1 Macro
'
Sheets("Response Data").Select
    Range("C1").Select
    Selection.End(xlDown).Select
    LR = ActiveCell.Row
    
    Sheets("Summary").Select
    
    Range("B2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Delete
    
    Range("B2").Select
    ActiveCell.FormulaR1C1 = _
        "=INDEX('Response Data'!R1C4:R" & LR & "C12,ROW(Summary!RC[-1]),MATCH(Summary!RC[-1] & "" item description"",'Response Data'!R1C4:R1C12,0))"
    
    Range("A2").Select
    Selection.End(xlDown).Select
    
    ActiveCell.Offset(0, 1).Select
    Range("B2", "B" & ActiveCell.Row).Select
    Selection.FillDown
End Sub

【讨论】:

  • 谢谢!我希望找到没有宏的东西,但如果公式不起作用,我会尝试这个。 (您可以在 Google 表格上使用宏吗?)
【解决方案2】:

我能够做的是在单独的工作表中创建 Google 表单输出的过滤器(它创建了不会为每个条目插入新行的响应的副本),然后使用 TEXTJOIN(引用列 D: L 在新工作表中)以在摘要工作表的一栏中获取信息。

感谢BigBen在TEXTJOIN函数的cmets中提醒我:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    相关资源
    最近更新 更多