[英]Excel - working with text across multiple worksheets
我有一个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"))
但是,我遇到一种情况,我确实需要在后续工作表中放入两个相同的条目。
例如使用| 休息一下
“” | “付费1” | “” | ”
“付费1” | “付费1” | “” | ”
“” | “付费2” | “付费1” | ”
第2种情况很奇怪,可以有多个相同的条目,但第3种情况则需要突出显示,因为我现在有了它(->多个条目)就足够了。 现在,这两种情况都将突出显示。
我不知道从哪里真正开始,我找不到处理文本的3D参考(沿匹配线),有什么建议吗?
一如既往,在此先感谢您,我非常感谢所有帮助。
一种方法是编写返回所需字符串的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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.