【问题标题】:Combine multiple columns into one cell with header information将多列合并为一个带有标题信息的单元格
【发布时间】:2021-10-17 05:53:33
【问题描述】:

我正在尝试在我的工作表中创建一个单元格来汇总行中的所有数据。我找到了一种将所有字段组合到第一列的方法,但我还需要它包含标题名称,并且它需要忽略空白字段。 (https://stackoverflow.com/a/13074838)

我的 excel 文件有超过 50 列和 5000 行,所以我认为这可能是宏的工作。关于如何实现这一点的任何想法?

╔═════════╦══════╦═════╦═══════════╦═════╕ ║总结║姓名║年龄║县║邮编║ ╠═════════╬══════╬═════╬═══════════╬═════╕ ║║苏║║斯诺霍米什║98144║ ║ ║ 鲍勃 ║ 36 ║ 皮尔斯 ║ 98335 ║ ║ ║ 帕特 ║ 32 ║ 斯波坎 ║ ║ ║║吉姆║40║国王║98101║ ╚═════════╩══════╩═════╩═══════════╩═════╕ 单元格 A2 将具有以下内容: 姓名:苏 县:斯诺霍米什 邮编:98144 单元格 A3: 姓名:鲍勃 年龄:36 县:皮尔斯 邮编 98335 单元格 A4: 姓名:帕特 年龄:32 县:斯波坎

【问题讨论】:

  • 你绑了什么,遇到了什么问题?

标签: excel vba


【解决方案1】:

你需要的是一个公式:

  1. 使用 IF 函数测试每个信息单元格是否有数据(我假设您将始终拥有名称)。
  2. 如果单元格包含,则连接回车符 (CHAR(10)) 的 ASCII 代码的字符表示和该单元格的数据。
  3. 一定要为公式单元格打开换行,否则显示的文本不会显示换行符。

生成的公式如下所示。

 ="Name: " &B1&
   IF(C1="","",CHAR(10)&"Age: "&C1)&
   IF(D1="","",CHAR(10)&"County: "&D1)&
   IF(E1="","",CHAR(10)&"Zip: "&E1)

您可以使用 LEN 函数将数据(年龄等)缩进相同的数量。

【讨论】:

  • 谢谢。那成功了。我更进一步,让它动态地获取标题名称。这是获取前 8 列数据并在第一个单元格中汇总它们的公式。 =IF(B2="","",$B$1&": "&B2&CHAR(10)) &IF(C2="","",$C$1&": "&C2&CHAR(10)) &IF(D2=" ","",$D$1&": "&D2&CHAR(10)) &IF(E2="","",$E$1&": "&E2&CHAR(10)) &IF(F2="","",$ F$1&": "&F2&CHAR(10)) &IF(G2="","",$G$1&": "&G2&CHAR(10)) &IF(H2="","",$H$1&": " &H2&CHAR(10)) &IF(I2="","",$I$1&": "&I2&CHAR(10))
  • 太棒了!很高兴我能提供帮助。
猜你喜欢
  • 1970-01-01
  • 2014-03-05
  • 1970-01-01
  • 1970-01-01
  • 2020-06-13
  • 2020-02-19
  • 1970-01-01
  • 2016-12-17
  • 2020-07-11
相关资源
最近更新 更多