如何使用间接公式来显示值和格式?

时间:2017-07-04 03:54:25

标签: excel excel-indirect

我附上了示例文件以防我的解释不明确。 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。功能

提前谢谢。

1 个答案:

答案 0 :(得分:0)

  1. 添加名为Function SumByColor(CellColor As Range, SumRange As Range, Condition1 As Range, Condition2 As Range, ColOffset As Integer)的VBA函数,如下所示
  2. 将D6中的公式更改为=SumByColor($K$9,OFFSET(INDIRECT("'"&$K$4&"'!$A$2"),0,$K$7,6,1),B6,C6,$K$7) 并复制
  3. 稍微修改RHS上的查找表(从每个值减去1)以使一切更整洁
  4. 更改K9的单元格颜色以匹配您的强制'橙
  5. 这适用于我编辑过的文件的修改版本。

    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
    

    enter image description here

    顺便说一句:我刚刚修改了我在其他地方找到的SumByColor函数,所以我不能因其基本操作而获得赞誉。