用于查找日期范围之间的值的公式,然后使用旁边的数字

时间:2015-06-04 11:16:59

标签: excel excel-formula

我为我的办公室工作开发了一个工作表。我还开发了将在其中使用的配方。但是,公式很长,我希望缩短。

以下是公式的详细信息。

=IF(
  AND(
    [Date]>=DATE(2014,7,1),
    [Date]<=DATE(2014,7,31),
    [Description]="Diesel Oil"),
  [Value Ex. Sales Tax]*'Tax Status'!$B$3,
  IF(
    AND(
      [Date]>=DATE(2014,8,1),
      [Date]<=DATE(2014,8,31),
      [Description]="Diesel Oil"),
    [Value Ex. Sales Tax]*'Tax Status'!$B$4,
  IF(
    AND(
      [Date]>=DATE(2014,9,1),
      [Date]<=DATE(2014,9,30),
      [Description]="Diesel Oil"),
    [Value Ex. Sales Tax]*'Tax Status'!$B$5,
  IF(
    AND(
      [Date]>=DATE(2014,10,1),
      [Date]<=DATE(2014,10,31),
      [Description]="Diesel Oil"),
    [Value Ex. Sales Tax]*'Tax Status'!$B$6,
  IF(
    AND(
      [Date]>=DATE(2014,11,1),
      [Date]<=DATE(2014,11,30),
      [Description]="Diesel Oil"),
    [Value Ex. Sales Tax]*'Tax Status'!$B$7,
  IF(
    AND(
      [Date]>=DATE(2014,12,1),
      [Date]<=DATE(2014,12,31),
      [Description]="Diesel Oil"),
    [Value Ex. Sales Tax]*'Tax Status'!$B$8,
  IF(
    AND(
      [Date]>=DATE(2015,1,1),
      [Date]<=DATE(2015,1,31),
      [Description]="Diesel Oil"),
    [Value Ex. Sales Tax]*'Tax Status'!$B$9,
  IF(
    AND(
      [Date]>=DATE(2015,2,1),
      [Date]<=DATE(2015,2,28),
      [Description]="Diesel Oil"),
    [Value Ex. Sales Tax]*'Tax Status'!$B$10,
  IF(
    AND(
      [Date]>=DATE(2015,3,1),
      [Date]<=DATE(2015,3,31),
      [Description]="Diesel Oil"),
    [Value Ex. Sales Tax]*'Tax Status'!$B$11,
  IF(
    AND(
      [Date]>=DATE(2015,4,1),
      [Date]<=DATE(2015,4,30),
      [Description]="Diesel Oil"),
    [Value Ex. Sales Tax]*'Tax Status'!$B$12,
  IF(
    AND(
      [Date]>=DATE(2015,5,1),
      [Date]<=DATE(2015,5,31),
      [Description]="Diesel Oil"),
    [Value Ex. Sales Tax]*'Tax Status'!$B$13,
  IF(
    AND(
      [Date]>=DATE(2015,6,1),
      [Date]<=DATE(2015,6,30),
      [Description]="Diesel Oil"),
    [Value Ex. Sales Tax]*'Tax Status'!$B$14,
  IF(
    AND([Description]="Furnace Oil"),
    [Value Ex. Sales Tax]*0.17,IF(AND([Description]="Lubricants"),[Value Ex. Sales Tax]*0.17,0)
  )))))))))))))

此公式在标题&#34;销售税&#34;。

下的主表格中输入

这是我从中获取税率的另一张表。

Month   Tax Rate
Jul-14  17%
Aug-14  17%
Sep-14  17%
Oct-14  17%
Nov-14  17%
Dec-14  17%
Jan-15  22%
Feb-15  27%
Mar-15  37%
Apr-15  32%
May-15  34%
Jun-15  

如果有任何不清楚的地方,请告诉我,以便我更清楚。

1 个答案:

答案 0 :(得分:0)

假设日期实际上是这样格式化的,而不是存储为文本,这应该有效:

=IF(
    [Description] = "Diesel Oil",
    INDEX(
        TaxStatus!$B:$B,
        MATCH(
            DATE(
                YEAR(
                    [Date]
                ),
                MONTH(
                    [Date]
                ),
                1
            ),
            TaxStatus!$A:$A,
            0
        )
    ) * [ValueEx.SalesTax],
    IF(
        OR(
            [Description] = "Furnace Oil",
            [Description] = "Lubricants"
        ),
        [ValueEx.SalesTax] * 0.17,
        0
    )
)

(编辑将最后两个标准添加到最后并修复一些错误。)