繁体   English   中英

Excel公式-索引匹配地址间接rank.avg

[英]Excel formula - index match address indirect rank.avg

需要帮助制定配方。

我在SQL中有数据,可以导出到excel。 在excel中,公式可以根据范围/数组中某一星期的值确定零件的等级。 这些列是每周的存储区,每次我导出时,每周的存储区都会更改(过去没有日期)。 我希望排名可以固定一个特定的日期,但是每周的每个出口中,特定列排在第一列。

我需要一个Excel公式,该公式可以在每周存储区数组中找到特定值的位置。 确定之后,我需要另一个公式来转换该列地址(例如“ AX”)以供rank.avg函数引用。

我猜这是匹配,索引,单元格,间接和rank.avg的某种组合。 到目前为止,我仅尝试了第一部分,但无法使cell(“ col”,(index(match)))返回其所在列的字母值。而是返回该列的#。

这是例子

  A       B        C         D
1 Part    Rank(C)  11/28/17  12/04/17
2 Part A  1        $100      $100    
3 Part B  2        $50       $125    
4 Part C  3        $25       $200    

B列具有等级公式,该公式确定了C列中零件(A,B,C)的等级。C列通过硬编码确定值11/28/17。

我被困在= CELL(“ address”,INDEX(C1:D1,1,MATCH(43067,C1:D1,0)))处。 当我只想要$ C或C时,它将返回$ C $ 1。之后,我打算将它与间接函数一起使用,以使其能够通过rank函数传递。 如果有人可以填补公式上的空白或想出一种更简单的方法,将不胜感激。

缺口

是的,请删除ADDRESS和INDIRECT,然后将其放在COUNTIF公式中。

ADDRESS和INDIRECT易失。 这是一个非易失性和非数组公式,可一步完成您想要的操作:

=COUNTIF(INDEX(C:D,2,MATCH(43067,$C$1:$D$1,0)):INDEX(C:D,1040000,MATCH(43067,$C$1:$D$1,0)),">" & INDEX(C:D,ROW(),MATCH(43067,$C$1:$D$1,0))) + 1

在此处输入图片说明

只获取专栏字母,您可能会对AddressSubstitute

=SUBSTITUTE(ADDRESS(1,MATCH(43067, C1:D1,0)+2,4), "1", "")

地址接受一列和一行,并吐出一个单元格。 因此,我们始终仅引用行1,并从地址返回任何列(由于我们从Match中的C开始,所以返回+2 )。 然后,我们用返回的单元格地址中的1替换掉列字母中没有的任何内容。

好吧,如果您的公式以C1形式返回单元格引用,则可以使用以下代码进行包装:

=CHAR(64+COLUMN(C1))

只需使用您的公式更改C1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM