HLOOKUP 后获取最小值

Posted

技术标签:

【中文标题】HLOOKUP 后获取最小值【英文标题】:Get minimum value after HLOOKUP 【发布时间】:2015-04-29 06:53:12 【问题描述】:

我有一个这样的查找表:

a  b  c  d
1  2  3  4

以及填充值abcd 的行,例如:

d  b  b  d  c

我想在使用单个公式中的表格进行查找后获得最小值。像MIN(HLOOKUP(...)) 这样的东西。在上面的示例中,结果将是 2。

我知道我可以使用 HLOOKUP 创建一个新行,然后在该行上执行一个 MIN。但在我的实际情况中,我有几行和几个查找表,我希望避免有很多中间行。

你有什么想法吗?

【问题讨论】:

试试HLOOKUP(MIN(), ...)) 我无法破解这个坚果。看看***.com/questions/5108594/… 以获得一些令人沮丧的建议。 【参考方案1】:

如果您的查找数组名为 LetterValues 并且您的数据在 A1:E1 中,请尝试:

=HLOOKUP(CHAR(MIN(CODE(A1:E1))),LetterValues,2,0)  

使用 Ctrl+Shift+Enter 输入。

【讨论】:

不幸的是,为了简单起见,我在示例中添加了字母,但在我的实际情况中,它们是无序字符串。【参考方案2】:

如果您的数据从单元格 A1 开始,您可以使用以下数组公式。

=MIN(IF(A1:E1="b",A2:E2,""))

它基本上查看范围 A1:E1 并检查它是否等于 b。如果是,则公式存储下一行中的值,如果不是,则不存储任何内容。

现在您有了一个包含与 b 关联的所有数字的数组,MIN 函数返回最小值。

输入公式后,使用Ctrl+Shift+Enter,公式周围会出现大括号。

【讨论】:

在我的实际情况中,查找表更复杂,我希望避免为该表中的每个条目放置一个 IF 语句。 您有多个查找表吗?是什么让您的查找表如此复杂以至于数组中的 if 不起作用?澄清一下,它是一个 if 函数,它可以为您提供最终结果,而不是查找表中的每行 if。 我有 4 个不同的查找表,每个表有 16 个条目。我不想搜索一个特定的值(示例中的“b”),而是根据一个查找表将所有字符串替换为其对应的值,然后找到最小值。以 hte 示例中的 loohup 表为例,他的表 c a d d 应该返回 1,而表 c d d c 应该返回 3。

以上是关于HLOOKUP 后获取最小值的主要内容,如果未能解决你的问题,请参考以下文章

如何在mysql中联合后获取最小值?

设计一个获取最小值时间复杂度为O的栈

如何使用选择查询为每个唯一的第二个值获取一个值中的最小值?

从输入的值中获取最大值和最小值,输入0后结束(利用do_while boolean isRight来标识用户输入)

Python:从字典中获取具有最小值但有多个最小值的键

根据2个条件使用HLOOKUP查找值