Excel-将每个值的索引分配为排序数组

时间:2018-11-28 22:10:42

标签: excel formula

我知道这个问题可能并不能真正解释我要问的问题,所以让我在这里解释一下。基本上,我的电子表格中有一行,其中包含10个值。假设它看起来像这样:

0.60|0.60|0.60|1.40|0.90|1.05|0.00|0.00

在此行下,我有一个空行,问题是我必须将其在这些值的反向排序数组中的位置分配给每个值(没有重复项)。在这种情况下:

排序数组:0.00, 0.60, 0.90, 1.05, 1.40

所以我要写下这样的一行:4|4|4|1|3|2|5|5|(从1开始索引)

有没有一种方法可以解决此类问题?还是我必须手动进行?

1 个答案:

答案 0 :(得分:3)

使用此数组公式:

<div class="modal-dialog">
    <div id="modalContent" class="modal-content">
        <canvas id="canvas" class="canvas"></canvas>
        <div id="modalFooter" class="modal-footer">
        </div>
    </div>
</div>

作为数组公式,必须将公式放在第一个单元格中,退出编辑模式时,按Ctrl-Shift-Enter而不是Enter进行确认,然后进行复制。

=MATCH(A1,LARGE(IF(MATCH($A$1:$H$1,$A$1:$H$1,0)=COLUMN($A$1:$H$1)-COLUMN($A$1)+1,$A$1:$H$1),ROW($A$1:INDEX($A:$A,SUMPRODUCT(1/COUNTIF($A$1:$H$1,$A$1:$H$1))))),0) 返回排序后的数组,而MATCH将在该数组中找到数字位置。

调整数据集的所有范围 EXCEPT LARGE(IF(MATCH($A$1:$H$1,$A$1:$H$1,0)=COLUMN($A$1:$H$1)-COLUMN($A$1)+1,$A$1:$H$1),ROW($A$1:INDEX($A:$A,SUMPRODUCT(1/COUNTIF($A$1:$H$1,$A$1:$H$1)))))这些都是计数器,无论数据集位于何处,都必须保持原样。

enter image description here