首页 > 解决方案 > Excel中的“N”最大值(正或负)列表,以文本字段为条件

问题描述

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

A 列:包含正数或负数的数字列表

B 列:有一个相应的“名称”列表(它们是文本字符串)

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

D 列:也是具有 4 种左右不同类型的文本响应。

我想要达到的目标如下:

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

除此之外,如果 C 中的相应单元格中有某个单词并且相应的单元格 D 中有某个单词,它只会打印这些名称。我假设后一种条件将是前面的 IF(OR()),但想对此提出一些建议。我从在线阅读中看到人们发现最大或最小的 +/- 数......但不是前 10 名的列表(正/负)。

任何建议表示赞赏

标签: excel-formula

解决方案


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

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

辅助列:E2 中的 =Large(c$2:C$50, 1),E3 中的 Large(c$2:C$50, 2) 等 TOP 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% 的解决方案,请告诉我


推荐阅读