Excel中的“ N”个最大值列表(正数或负数),取决于文本字段

时间:2019-03-05 03:59:16

标签: excel-formula

我将工作表简化为以下内容:

A列:具有正数或负数的数字列表

B列:列出了相应的“名称”(它们是文本字符串)

C列:具有是/否类型响应

D列:也是4种左右不同类型的文本回复。

我要实现的目标如下:

一个单独的列(例如E:E),它从A中选取前10个数字(负数或正数),但在E的单元格中从B打印相邻的文本“名称”。

除此之外,如果在C中相应单元格中有某个单词,而在相应单元格D中有某个单词,则仅打印这些名称。我假设后面的条件将是IF(OR())前台,但是想要一些建议。我从网上阅读中看到,人们发现最大或最小的+/-号...但没有列出前10名(正负)。

任何建议表示赞赏

1 个答案:

答案 0 :(得分:0)

我有一个“十大推动者”解决方案,该解决方案在大多数情况下都可以使用。

第2:50行中的数据   B栏中的符号   C列中要测试的值

Helper列:     = E2中的大(c $ 2:C $ 50,1),E3中的大(c $ 2:C $ 50,2)等     前10位阳性

=-Small(c$2:C$50, 1) in F2, -Small(c$2:C$50, 2) in F3, etc
TOP 10 negatives (as positive values)

=large(e2:f10, 1) in G2, large(e2:f10, 1) in G3, etc
Abs(Top 10)

=IF(ISNA(MATCH(G2, C$2:c$50, 0)), "S", "L") in H3, etc
Test for Large or Small*

=IF(H3 = "L", 1, -1) * G3, etc in I3
Restores + / -

=INDEX($B$2:$B$50, MATCH(I3, OFFSET($B$2:$B$50, 0, 1), 0), 1) in J3
Returns symbol
  • 问题:如果abs(neg)= pos值,则H列中的测试将始终返回与正值相对应的符号。可能有一点改进,就是查看列表中是否已经存在值,但是如果存在例如+ 9,-9,-9,我们就会遇到相同的问题。

希望这会有所帮助。如果您找到100%的解决方案,请告诉我