【发布时间】:2016-03-30 18:10:48
【问题描述】:
我有一个看起来像这样的 excel 表 (25x25),
C1 C2 C3
R1 5 6 7
R2 1 7 9
R3 2 3 0
我的目标是让它看起来像这样,
C3 R3 0
C1 R2 1
C1 R3 2
C2 R3 3
C1 R1 5
C2 R1 6
C2 R2 7
C3 R1 7
C3 R2 9
它会生成一个按第一个值排序的新表。它还告诉相应的列名和行名。该表有重复、负数和小数。
我这样做是因为我想找到给定值的 3 个最接近的候选者(因此是 C 和 R)。而 VLOOKUP() 需要一个排序表。
另一个问题(向前迈进了一步)是 VLOOKUP() 返回最接近的较小值,而不是实际的最小值。有没有更好的方法或解决方法?所以结果就是这样一张整洁的桌子,
Value to look up = 2.8
>> C2 R3 3
>> C1 R3 2
>> C1 R1 5
由于某些原因,我不能在这个项目中使用 VBA。在 MS Excel 中只有内置函数的任何解决方案?
【问题讨论】:
-
第 1 部分:
ADDRESS()第 2 部分:INDEX(MATCH()) -
从多个合并范围中选择透视表
-
见superuser.com/questions/78439/…。搜索关键字是
Excel unpivot。 -
为什么 2.8 的第三个'最接近的较小值'
C1 R1 5而不是C1 R2 1?
标签: arrays excel sorting excel-formula vlookup