匹配 Excel 2016 年的功能部件

Match function parts in Excel 2016

我有这个功能:

MATCH(1,(PositionParameter[[#All],[Position Revised]]=$C94)asterisk(PositionParameter[[#All],[Campus Type Short]]=G$3)asterisk(PositionParameter[[ #All],[校园编号任意]]=G$1),0))

而且我不知道它的作用。我不知道星号是干什么用的。 PositionParameter 是工作表的名称,Position Revised 是列的名称,Campus Type Short 是列的名称,Campus Num Arbitrary 是列的名称。假设第一个 PositionParameter() 和第二个 PositionParameter() 之间有一个星号。第二个 PositionParameter() 和第三个 PositionParameter() 之间应该有另一个星号,但它呈现为斜体。我把星号拿出来拼写出来。工具提示告诉我这是假设 return 某种数组,但我无法弄清楚它的组成部分。有人可以向我解释星号吗?我将不胜感激。

谢谢, 霍华德洪

嗯,星号可以是 乘法符号,也可以是 Match 中的通配符。从位置的外观来看,我会说它是 乘以 数组中的数据或 table.

而且,嗯... I don't know what the asterisks are for 但是 I took the asterisk out and spelled it out?为什么要这么做?在你改变它之前它是否有效?你在哪里找到这个公式?

请阅读[mcve]。如果没有样本数据或其他有关公式用途的信息,我将大胆猜测:

将此粘贴到单元格中:

=MATCH(1,(PositionParameter[[#All],[Position Revised]]=$C94)*(PositionParameter[[#All],[Campus Type Short]]=G)*(PositionParameter[[#All],[Campus Num Arbitrary]]=G),0))

。 . .并假设它应该是一个数组,而不是 在该单元格上点击 Enter

hit: Ctrl+Shift+Enter to create an array formula.

除了上面的link,这里还有一些其他的阅读和练习供您参考:


我认为某些应用程序在从 Excel 复制和粘贴到它们时会用文字替换某些符号(应用程序中不允许的符号),但没有关于发生的事情的更多信息,我不能说确定发生了什么。

假设 * 是实数并且公式是作为数组公式输入的,那么它应该 return 一个 0 和 1 的数组。

公式正在寻找修改后的位置=C94 AND 校区类型短 =G3 AND 校区编号任意 = G1
它将 return 匹配所有这些条件的每一行为 1,不匹配的每一行为 0。
如果没有行符合条件,它将 return #N/A

您的公式 return 是单个值 - 满足所有三个条件的数据中第一行的相对位置。

它是这样工作的:

这三个条件语句中的每一个:

PositionParameter[[#All],[Position Revised]]=$C94

PositionParameter[[#All],[Campus Type Short]]=G

PositionParameter[[#All],[Campus Num Arbitrary]]=G

.....returns TRUE/FALSE 值的数组。将这三个数组相乘产生一个 1/0 值数组,当所有条件都满足时为 1,否则为 0。这个数组构成了MATCH函数

的"lookup array"

"lookup value"为1所以在查找数组中查找value,MATCH函数的结果就是第一个1的位置,对应所有的第一行条件满足。

如果没有满足所有三个条件的行,则结果为 #N/A

请注意,最后的零是 MATCH 函数的第三个参数 - 零意味着必须找到完全匹配。

这是一个 "array formula",需要用 CTRL+SHIFT+ENTER[ 确认=52=]

通常,您会将其与 INDEX 函数结合使用,以 return 来自满足条件的第一行中另一列的值,例如使用普通单元格引用

=INDEX(A:A,MATCH(1,(B:B="x")*(C:C="y"),0))

该公式将 return 满足两个指定条件的第一行 A 列中的值(col B = "x" 和 col C = "y")