首页 > 解决方案 > 我可以在 Excel 中没有 VBA 的情况下循环每个单元格吗?

问题描述

我有以下格式的 Excel 工作表:

在此处输入图像描述

我想要第二个选项卡,它使用这些数据并以这种格式生成一个表格 在此处输入图像描述

我想知道这是否可以在没有 VBA 的情况下完成?如果没有,知道我应该如何最好地处理它吗?

谢谢

标签: excelvbaexcel-formula

解决方案


假设您有以下命名范围:

  • Type_A为 Type_A 列中的所有数据;
  • Type_B为 Type_B 列中的所有数据;
  • Type_C为 Type_C 列中的所有数据;
  • Cat_1是 Category_1 列中的所有数据;
  • Cat_2是 Category_2 列中的所有数据;
  • 函数是列函数中的所有数据。

结果

在单元格B8中,输入以下数组公式(需要在公式栏中完成公式后按键盘上的Ctrl+Shift+Enter 确认):

=TEXTJOIN(CHAR(10),1,IF((INDIRECT(B$7)="X")*(INDIRECT($A8)="X"),Functions,""))

然后突出显示输出表并单击选项卡下的Wrap Text按钮Home以在单元格内显示带有换行符的结果。

TEXTJOIN函数仅在 Excel 365 及更高版本中可用。

这里有一个提示,您可以突出显示源表(包括标题)并在键盘上按Ctrl+Shift+F3以快速将列标题(顶行)设置为每个范围的名称。然后,您只需为输出表设置所有类型和类别的第一行和第一列,并使用上面的公式返回所需的输出。

如果您有任何问题,请告诉我。干杯:)


推荐阅读