有一个表,我希望它根据大小值选择可以使用的最小尺寸相框, 基本上返回适合图像的最小帧。
例如,我有4种标准尺寸:
a b c
Size1 150 150
Size2 300 300
Size3 540 570
Size4 800 800
我希望在另一个细胞中有一个尺寸,例如290 x 300并希望它能够选择最小的尺寸,即在这种情况下尺寸为2。
我已经按照一些指南进行操作,如果值准确,则会打印出值,但如果它们略微位于其中一个选项下则不会打印出来
=VLOOKUP($A$8,CHOOSE({1,2},$B$2:$B$5&", "&$A$2:$A$5,$C$2:$C$5),2,0)
任何helo / direction都会非常适合!
由于
答案 0 :(得分:2)
目前尚不清楚细胞A8是什么。按照你的问题,我认为它必须是“W x H”格式的尺寸(例如:290 x 300)。如果是这样,请尝试:
In D2: 1
// Copy next down
In D3: D2+1
// Wherever you want it
=CONCATENATE("Size ",MIN(VLOOKUP(LEFT(A8,FIND(" ",A8)-1)+0,B2:D5,3,TRUE),VLOOKUP(RIGHT(A8,LEN(A8)-FIND("x ",A8)-1)+0,C2:D5,2,TRUE)))
或者,如果您将宽度和高度分成2个单元格A8和B8,这个更简单的版本应该可以解决这个问题:
In D2: 1
// Copy next down
In D3: D2+1
//Wherever you want it
=CONCATENATE("Size ",MIN(VLOOKUP(A8,B2:D5,3,TRUE),VLOOKUP(B8,C2:D5,2,TRUE)))
这些假设大小都使用“Size#”命名约定。否则,您可以在右侧添加另一列以等于A列,然后使用vlookup识别匹配,如下所示(再次假设单元格A8中为“W x H”):
In D2: 1
// Copy next down
In D3: D2+1
// Copy next down
In E2: =A2
// Wherever you want it
=VLOOKUP(MIN(VLOOKUP(LEFT(A8,FIND(" ",A8)-1)+0,B2:D5,3,TRUE),VLOOKUP(RIGHT(A8,LEN(A8)-FIND("x ",A8)-1)+0,C2:D5,2,TRUE)),D2:E5,2,FALSE)
答案 1 :(得分:2)
假设订单确实很重要(例如 500x550和550x500之间的差异),您可以使用此数组公式:
= INDEX($A$2:$A$5,MATCH(2,MMULT((E2:F2<=$B$2:$C$5)+0,{1;1}),0))
请注意,这是一个数组公式,因此您必须在键入此公式后按 Ctrl + Shift + Enter 而不是仅按输入
请参阅下面的工作示例。
假设订单不很重要(例如,不 500x550和550x500之间存在差异),公式会因为{{1}的顺序颠倒而变得更长数组。可能有更好的方法来做到这一点,但这是我能想到的最简单的方法。不幸的是,Excel无法处理3D数组,否则这与上面的原始公式没什么不同。无论如何,这里是公式(为了可读性添加了换行符)
E2:F2
请注意,这也是一个数组公式。
见下面的工作示例。请注意它在除了单元格= INDEX($A$2:$A$5,MIN(MATCH(2,MMULT((E2:F2<=$B$2:$C$5)+0,{1;1}),0),
MATCH(2,MMULT((INDEX(E2:F2,N(IF({1},MAX(COLUMN(E2:F2))-
COLUMN(E2:F2)+1)))<=$B$2:$C$5)+0,{1;1}),0)))
之外的每个单元格中如何产生与上面相同的结果,因为再次考虑550x500 和 500x550。