【问题标题】:Excel 'Concatenate' with Alt+Enter, and then reference to another cellExcel 'Concatenate' 与 Alt+Enter,然后引用另一个单元格
【发布时间】:2014-04-10 18:17:41
【问题描述】:

这应该是一个简单的过程,但我很难产生正确的结果。我正在尝试将三个单元格合并为一个单元格,Alt + EnterChar(10) 分隔每个值。当我使用简单的 Excel 公式 =B2 & Char(10) & C2 & Char(10) & D2 并换行目标单元格的文本时,一切似乎都很正常。但是,如果我尝试在该单元格中搜索一个字符串(例如,“WS001”),它将找不到正确的字符串。如果我使用 VBA 来执行相同的功能(即ThisWorkbook.Worksheets("Sheet1").Cells(2, 1) = Cells(2, 2) & Chr(10) & Cells(2, 3) & Chr(10) & Cells(2, 4)),然后我可以在B2 中搜索字符串并找到它。

该问题已得到解决(在一定程度上),但是当我尝试将目标单元格链接到不同工作表 (=Sheet1!A2) 中的单元格时,我遇到了相同的问题,即搜索功能找不到细绳。是否有另一种方法(我想避免使用 VBA,因为如果将来有人必须编辑文件/信息,他们可能不知道如何更改它)?

【问题讨论】:

  • pnuts - 我希望能够使用Ctrl + Find 函数。例如,在 Ken 回答的第一个视觉效果中,我会执行 Ctrl + Find 并搜索“John”。虽然“John”同时出现在 A1C1 中,但搜索结果只会是 C1(我通过使用 VBA 而不是公式解决了这个问题)。如果我使用宏而不是公式并将单元格 A1 链接到不同的工作表,Ctrl + Find 仍然不会在单元格中找到“John”。
  • 谢谢,即使从另一个工作表中引用,它也能找到正确的单元格。有没有办法让连接的单元格“看起来”与手动输入单元格值(即每行一个值)一样?现在连接的单元格是一个没有空格的字符串,但是当文本被换行时,似乎值在不同的行上。

标签: excel char formula


【解决方案1】:

您能否根据此示例阐明您在寻找什么? A 列是右侧三列的串联,使用 CHAR(10)。

例如,您会搜索“Shane”吗?你想要什么结果?

编辑

我无法理解您要查找的内容,但希望这可以为您指明正确的方向。

这是我的结果:

B1是要搜索的数据

串联公式如下:(当它们在不同的工作表上时也有效)

=C6 & CHAR(10) & D6 & CHAR(10) & E6

“Cateated result”搜索公式为数组公式(ControlShiftEnter进入公式)

="Row "&MATCH(TRUE,ISNUMBER(FIND($B$1,A6:A8)))

“个别结果”搜索公式也是数组公式(ControlShiftEnter输入公式)

="Column "&MAX(($B$1=C6:E8)*COLUMN(C6:E8))-2

(负2是因为第一个Source Value”列是C列(即3)

【讨论】:

  • Ken - 如果我搜索“Shane”,我希望第一个单元格(第 2 行,第 1 列)和第三个单元格(第 2 行,第 3 列)都显示在结果中。通过使用我上面提到的公式,第一个单元格不会显示为其中包含“Shane”的单元格。如果您使用 VBA 连接三个单元格,则第一个单元格应该是结果。但是,如果您在另一个单元格中引用了第一个单元格(第 2 行,第 1 列),则无论使用哪种方法,搜索都将不起作用。
  • 肯 - 你是对的,Find 函数将定位正确的单元格地址(仅在 Ctrl + Shift + Enter 之后)。但是,如果我使用Ctrl + Find,则在搜索“John”时它不会列出单元格A6。如果我使用宏进行相同的连接,Ctrl + Find 函数将定位单元格A6。但是,如果我尝试将另一个工作表上的单元格引用到 A6,那么 Ctrl + Find 将无法再次工作。
  • 当您说 Ctrl + Find 时,您的意思是交互式地按 CTRL F 吗?如果是这样,请确保选择“查找范围”下拉菜单并选择“值”而不是“公式”
猜你喜欢
  • 2014-06-22
  • 2017-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多