我附上了示例文件以防我的解释不明确。 Excel Case 01.xlsx
因此,我每天都需要根据客户的要求和合同,通过电子邮件向客户发送每日送达订单。通常,他们只订购他们要求的东西,并省去他们所需的每日订单。 所以,我通常标记强迫"订购使用橙色。
每个文件都基于每个月。并且每张表都基于每天,因此我将7月文件与01,02,03等作为工作表名称。每张表都有公司和产品详细信息以及订单金额。
每天我都要给他们发电子邮件"强迫"只是为了通知他们他们会遇到什么。
现在,我有一个单独的电子邮件表,如下所示: Excel Case 01 - E-mail.jpeg
我的细胞D6:D10的公式是:
{=IFERROR(INDEX(INDIRECT("'"&$K$4&"'!$A$2:$H$6"),(MATCH(1,(INDIRECT("'"&$K$4&"'!$A$2:$A$6")=$B6)*(INDIRECT("'"&$K$4&"'!$B$2:$B$6")=$C6),0)),$K$7),0)}
问题是该列中没有显示橙色,我需要颜色,所以我可以使用颜色选项过滤器。我还想保留" Sheet Name"功能,所以我只需要更改工作表名称,以获得我想要的数据,因为我将有多达31张。
有没有办法让间接公式不仅显示值而且还显示引用单元格的格式?
考虑使用粘贴链接VBA但是当我搜索代码时,似乎我只找到引用特定单元格的代码。 但是如果我仍然可以使用" Sheet Name"我不介意使用VBA。功能
提前谢谢。
答案 0 :(得分:0)
Function SumByColor(CellColor As Range, SumRange As Range, Condition1 As Range, Condition2 As Range, ColOffset As Integer)
的VBA函数,如下所示=SumByColor($K$9,OFFSET(INDIRECT("'"&$K$4&"'!$A$2"),0,$K$7,6,1),B6,C6,$K$7)
并复制这适用于我编辑过的文件的修改版本。
Function SumByColor(CellColor As Range, SumRange As Range, Condition1 As Range, Condition2 As Range, ColOffset As Integer)
Application.Volatile
Dim ICol As Integer
Dim TCell As Range
ICol = CellColor.Interior.ColorIndex
For Each TCell In SumRange
If ICol = TCell.Interior.ColorIndex And TCell.Offset(0, -ColOffset).Value = Condition1.Value And TCell.Offset(0, -ColOffset + 1).Value = Condition2.Value Then
SumByColor = SumByColor + TCell.Value
End If
Next TCell
End Function
顺便说一句:我刚刚修改了我在其他地方找到的SumByColor函数,所以我不能因其基本操作而获得赞誉。