首页 文章

将两个单元格值与Excel中的一系列值进行比较

提问于
浏览
2

我一直在寻找解决问题的方法 . 我尝试了几个公式,如VLOOKUP,INDEX .. MATCH,似乎没有任何工作 . 我有两个范围值,如下所示

Date    Rate of Interest        Date    Charge code Interest Rate
1/2/2014    1.1     5/27/2015   INTEREST     
3/20/2014   1.2     5/10/2015   INTEREST     
5/20/2014   1.3     4/12/2015   QUARTERLY AUDIT FEE  
10/20/2014  1.3     3/30/2015   LEGAL FEE    
1/10/2015   1.4     2/20/2015   COLLECTION   
6/13/2015   1.5     1/10/2015   COLLECTION   
11/20/2015  1.6     12/20/2014  COLLECTION   
12/20/2015  1.7     8/20/2014   COLLECTION   
12/21/2015  1.8     7/11/2014   INTEREST     
12/22/2015  1.9     6/30/2014   INTEREST     
12/22/2015  2       5/4/2014    COLLECTION   
12/23/2015  2.1     4/12/2014   COLLECTION   
12/24/2015  2.2     4/12/2014   COLLECTION   
12/25/2015  2.3     3/20/2014   COLLECTION   
12/26/2015  2.4     2/10/2014   COLLECTION   
12/27/2015  2.5     1/2/2014    COLLECTION   
12/30/2015  2.6     1/2/2014    ADVANCE

我需要将第二个范围值与第一个范围值进行比较,并从第一个范围中获取第二个范围的“利率”列 . 这是业务规则 . 将第二个范围中的第一个日期单元格值与第一个中的日期值列表进行比较,如果日期单元格值小于或等于第一个范围中的任何日期列表值,则相应的费用代码值对于第二个范围中的日期单元格值,“INTEREST”,第一个范围中的“利率”列值需要在第二个范围的“利率”列中填充 .

任何公式或VBA代码都会有很大帮助 .

1 回答

  • 0

    假设从第2行开始使用列A到E为10行的数据,这些是一些可能的解决方案 .

    Solution 1: Using extra column for calculation. Will work even if your DATES in first range is not sorted.

    在E栏(第二范围利率)

    =IF(D2="INTEREST",VLOOKUP(F2,$A$2:$B$10,2),"")
    

    在F列(用于计算目的的额外列)

    =MIN(IF(C2<$A$2:$A$10,$A$2:$A$10,""))
    

    注意:第二个公式是一个数组公式,因此在复制到公式栏后按下CTRL ENTER ENTER或它不起作用 .


    Solution 2: (If you dont want to use an extra column). Will work with your example as the DATES in first range is sorted in ascending order.

    将此公式复制到E列(利率)中的公式栏中,但不要按ENTER键,请按CTRL SHIFT ENTER,因为这是一个数组公式 . 每次更改公式时都需要这样做 .

    =IF(D2="INTEREST",INDIRECT("B"&MIN(IF(C2<=$A$2:$A$10,ROW($A$2:$A$10),""))),"")
    

    注意:这假定您在A列中的日期按照您的示例按升序排序 .


    Solution 3: will only work if you change the sorting order of your dates in descending. But the formula is simplest.

    如果你可以按降序DATE顺序而不是升序对FIRST RANGE进行排序,那么使用INDEX和MATCH的公式将会更简单 .

    =INDEX($B$2:$B$10,MATCH(C2,$A$2:$A$10,-1))
    

    如果你遇到任何问题,请告诉我 .

相关问题