Excel – 跨多个工作表处理文本

我有一个Excel文件,使用多个工作表来汇总付款和多个属性的付款时间表。

它的设置是为了让第一张表格是所有内容的总结,后面的表格详细说明了不同的属性。 我有一列(只是为了说明),我想把文本带回到第一张表格,如果在后续表格中有多个条目让我知道。

我知道excel不喜欢跨越多个工作表的文本,所以下面的代码工作得很好,为我带来了一个单一的条目。 它将始终在后续工作表中的同一个单元格中。

=IF(COUNTA(Sheet1:Sheet5!D15)=0,"", IF(COUNTA(Sheet1:Sheet5!D15)=1, (Sheet1!D15&Sheet2!D15&Sheet3!D15&Sheet4!D15&Sheet5!D15), "--> Multiple Entries")) 

不过,我遇到了一个情况,我需要在后面的表格中input两个相同的条目。

例如使用| 作为表单中断

“” “付费#1”| “” “”

“付费#1”| “付费#1”| “” “”

“” “付费#2”| “付费#1”| “”

案例#2是其中可以有多个相同的条目,但它们是不同的需要突出显示,因为我现在( – >多个条目)就足够了。 现在这两个案件都会突出显示。

我不知道从哪里开始真的,我找不到一个处理文本的3d引用(沿着匹配线),有什么build议吗?

与往常一样,在此先感谢,我真的很感谢所有的帮助。

一种方法是编写一个返回所需string的UDF。 不幸的是,UDF参数不支持3D范围,所以需要解决。

根据你的问题,你认为除了汇总表之外,所有工作表都要考虑同一个单元格。 在此基础上,此UDF将返回除公式所在工作表之外的所有工作表中相同单元格的拼接。 你可以调整它来返回其他的东西,如你所愿。

请注意,我已经很简单地演示了一个方法,您需要处理错误情况,例如r指向> 1单元格,或另一个工作表/工作簿上的单元格。

 Function MergeSheets(r As Range) As Variant Dim a As String, s As String Dim sh As Worksheet Application.Volatile a = r.Address For Each sh In r.Worksheet.Parent.Worksheets If sh.Name <> r.Worksheet.Name Then s = s & sh.Range(a).Value End If Next MergeSheets = s End Function