在Excel 2016中匹配function部件
我有这个function:
星号(PositionParameter [[#All],[Position Revised]] = $ C94)星号(PositionParameter [[#All],[Campus Type Short]] = G $ 3) Campus Num Arbitrary]] = G $ 1),0))
我无法弄清楚它的function 我不知道星号是什么。 PositionParameter是工作表的名称,Position Revised是列的名称,Campus Type Short是列的名称,Campus Num Arbitrary是列的名称。 假设在第一个PositionParameter()和第二个PositionParameter()之间有一个星号。 第二个PositionParameter()和第三个PositionParameter()之间应该有另一个星号,但是它被渲染为一个斜体。 我把星号拿出来拼出来。 工具提示告诉我这是假设返回某种数组,但我无法弄清楚它的组件。 有人可以向我解释星号吗? 我会很感激。
谢谢,霍华德
您的公式将返回一个单一值 – 满足所有三个条件的数据中第一行的相对位置。
它是这样工作的:
这三个条件语句中的每一个:
PositionParameter[[#All],[Position Revised]]=$C94
PositionParameter[[#All],[Campus Type Short]]=G$3
PositionParameter[[#All],[Campus Num Arbitrary]]=G$1
…..返回一个TRUE/FALSE
值的数组。 将这三个数组相乘得到一个1/0
值的单个数组,当满足所有条件时为1,否则为0。 这个数组形成MATCH
函数的“查找数组”
“查找值”是1,所以在查找数组中查找值,并且MATCH
函数的结果是第一个1的位置,其对应于满足所有条件的第一个行。
如果没有满足所有三个条件的行,则结果是#N/A
请注意,最后的零是MATCH
函数的第三个参数 – 零menas必须find完全匹配。
这是一个“数组公式”,需要使用CTRL + SHIFT + ENTER进行确认
通常,您可以将此与INDEX
函数结合使用,从条件满足的第一行中的另一列返回值,例如使用常规单元格引用
=INDEX(A:A,MATCH(1,(B:B="x")*(C:C="y"),0))
该公式将返回满足两个指定条件(col B =“x”和col C =“y”)的第一行中列A的值
那么,星号可以是一个乘号,也可以是匹配中的通配符 。 从展示位置来看,我会说它是从数组或表格中乘以数据。
而且,呃… I don't know what the asterisks are for
但是I took the asterisk out and spelled it out
? 为什么要这么做? 在你改变它之前它工作吗? 你在哪里find这个公式?
请阅读[mcve]。 如果没有样本数据或有关公式的其他信息,我会大胆猜测:
将其粘贴到单元格中:
=MATCH(1,(PositionParameter[[#All],[Position Revised]]=$C94)*(PositionParameter[[#All],[Campus Type Short]]=G$3)*(PositionParameter[[#All],[Campus Num Arbitrary]]=G$1),0))
。 。 。 并假设它应该是一个数组, 而不是在该单元格上的Enter :
点击: Ctrl + Shift + Enter创build一个数组公式。
除了上面的链接,这里还有一些其他的阅读和练习:
-
创build一个数组公式
-
MATCHfunction
我认为某些应用程序用Excel复制并粘贴某些符号(在应用程序中是不允许的),而没有关于发生的事情的更多信息,我不能确定发生了什么。
假设*是真实的,并且公式是作为数组公式input的,那么它应该返回一个0和1的数组。
公式正在寻找位置修正= C94和校园types短= G3和校园数量任意= G1
它将为每个匹配所有这些条件的行返回1,并为每行不返回0。
如果没有行符合条件,它将返回#N / A