好的,我试图基于多个条件引用数据透视表中的单元格。我以为我知道了,但是现在我得到了#Ref!错误。
这是我当前的公式:
=INDEX(MP_Val_Table[Instrument Line],MATCH($B8,MP_Val_Table[Assay],0),MATCH($B10,MP_Val_Table[Mobile Phase],0))
提前感谢您的帮助!
答案 0 :(得分:1)
有几种方法可以生成两列查询。我使用AGGREGATE检索匹配的行号。将其与结构化表一起使用时,需要从检索到的行号中减去标题行号,以获得准确的结果。
=INDEX(MP_Val_Table[instrument_line], AGGREGATE(15, 7, (ROW(MP_Val_Table[id])-ROW(MP_Val_Table[#Headers]))/((MP_Val_Table[assay]=$B$8)*(MP_Val_Table[mobile_phone]=$B$10)), ROW(1:1)))
向下拖动以进行其他匹配。用IFERROR换行以避免显示#NUM!匹配用尽时出现错误。
数据高级过滤器方法是另一种快速确定单个或多个匹配项的方法。
答案 1 :(得分:0)
您可以使用与如下所示的数组公式匹配的多个条件
=INDEX(MP_Val_Table[Instrument Line],MATCH(1,($B8 = MP_Val_Table[Assay])*($B10=MP_Val_Table[Mobile Phase]),0))
因为它是一个数组公式,所以您需要按ctrl-shift-enter对其求值,而不是直接输入。这可以分解为多个部分,例如 $ B8 = MP_Val_Table [Assay]将返回true或false $ B10 = MP_Val_Table [Mobile Phase]将返回true或false 那么这些结果中的*将为true或false,只有true结果将匹配1。
由于数组公式需要特殊处理,因此通常更容易添加新列,该新列将希望匹配的列连接起来,然后对该新列进行匹配。
MATCH(concat($B8,$B10),MP_Val_Table[ConcatSearchColumn],0)