Excel 帮助:适用于 lookup/match 个案例的函数
Excel help: appropriate function for lookup/match cases
得到一个巨大的数据集,该数据集动态连接并用于一个工作簿(我们称之为 W1),另一个工作簿 (W2) 是必须首先在那里更新 (W2) 然后在主工作簿上更新的数据集工作簿(W1)。
所以在这个工作簿 W1 下是需要定期填充的庞大数据集的一部分,具有一些函数或宏,但要避免大量的体力劳动。
我真正想要的是查找 Column U
both row/column 上下文以查找来自外部工作簿 (W2) 的匹配项。但问题是空行或稍后将添加的行 - 在我不想破坏计算和函数上下文的列内标记为 Reseviert
。
在下面的第二个工作簿W2上是要用(_)上传的数据集,如果不是可用或可用时与 (1) 一起使用,并且我必须始终将其填充到主 table 中。
我尝试使用 index/match/match 功能,但不知何故它没有按我的意愿工作。我想不通,但只能 copy/paste 它在工作簿中 XYZ 次,这非常耗时...
这是函数:IF(INDEX('0528-matrix.csv'!$A:$Y;MATCH(U80;'0528-matrix.csv'!$A:$A;0);MATCH(BE14;'0528-matrix.csv'!:;0));"n.k";"")
这个 "nK" 只是在 "match" 来自其他 table 的情况下的随机名称。
有什么建议吗??
所以,不确定你到底在做什么,但这是基于我的最佳猜测:
=IF(OR(IFERROR(INDEX($U:$DC8,MATCH(U20,'0528-matrix.csv'!$A:$A,0),MATCH(X,'0528-matrix.csv'!:,0)),"Check")=0,X17="_"),"n.k","")
因此,我假设索引结果是一个 OR() 与单元格 X17 的测试,但如果两者都需要为真,您可以使用 AND()...
iferror() 是为 if() 提供一个 false,因为它需要从 index() 和 match() 捕获错误。
我也处理过如果 index() returns 结果那么你应该得到 "n.k",如果不是那么它会给出空白。您可以交换它们,因为它们只是 if value_if_true 和 value_if_false.
经过几天的工作和思考...实际上是一个简单的函数:
=IFERROR(IF(INDEX('0528-matrix.csv'!$A:$Y;MATCH($U17;'0528-matrix.csv'!$A:$A;0);MATCH(X;'0528-matrix.csv'!:;0))=1;"n.k";"");"")
解释:
在我的例子中,这是一个巨大的数据块,每月更新一次,但考虑到 2 个工作簿,如果部分不兼容,第二个将用 (_) 更新,如果部分不兼容,则用 (1) 更新使用练习册 1。
但在工作簿 1 中,我不能输入 (_) 和 (1),但可以为 (_) 和 "n.k" 或 (1) 的任何内容留空。
使用 index/match 您实际上可以匹配所有这些,但事情是这么小 "separation" 在两个匹配的情况下,这就是我们有 IF/IFERROR 的原因。
得到一个巨大的数据集,该数据集动态连接并用于一个工作簿(我们称之为 W1),另一个工作簿 (W2) 是必须首先在那里更新 (W2) 然后在主工作簿上更新的数据集工作簿(W1)。
所以在这个工作簿 W1 下是需要定期填充的庞大数据集的一部分,具有一些函数或宏,但要避免大量的体力劳动。
我真正想要的是查找 Column U
both row/column 上下文以查找来自外部工作簿 (W2) 的匹配项。但问题是空行或稍后将添加的行 - 在我不想破坏计算和函数上下文的列内标记为 Reseviert
。
在下面的第二个工作簿W2上是要用(_)上传的数据集,如果不是可用或可用时与 (1) 一起使用,并且我必须始终将其填充到主 table 中。
我尝试使用 index/match/match 功能,但不知何故它没有按我的意愿工作。我想不通,但只能 copy/paste 它在工作簿中 XYZ 次,这非常耗时...
这是函数:IF(INDEX('0528-matrix.csv'!$A:$Y;MATCH(U80;'0528-matrix.csv'!$A:$A;0);MATCH(BE14;'0528-matrix.csv'!:;0));"n.k";"")
这个 "nK" 只是在 "match" 来自其他 table 的情况下的随机名称。
有什么建议吗??
所以,不确定你到底在做什么,但这是基于我的最佳猜测:
=IF(OR(IFERROR(INDEX($U:$DC8,MATCH(U20,'0528-matrix.csv'!$A:$A,0),MATCH(X,'0528-matrix.csv'!:,0)),"Check")=0,X17="_"),"n.k","")
因此,我假设索引结果是一个 OR() 与单元格 X17 的测试,但如果两者都需要为真,您可以使用 AND()...
iferror() 是为 if() 提供一个 false,因为它需要从 index() 和 match() 捕获错误。
我也处理过如果 index() returns 结果那么你应该得到 "n.k",如果不是那么它会给出空白。您可以交换它们,因为它们只是 if value_if_true 和 value_if_false.
经过几天的工作和思考...实际上是一个简单的函数:
=IFERROR(IF(INDEX('0528-matrix.csv'!$A:$Y;MATCH($U17;'0528-matrix.csv'!$A:$A;0);MATCH(X;'0528-matrix.csv'!:;0))=1;"n.k";"");"")
解释:
在我的例子中,这是一个巨大的数据块,每月更新一次,但考虑到 2 个工作簿,如果部分不兼容,第二个将用 (_) 更新,如果部分不兼容,则用 (1) 更新使用练习册 1。
但在工作簿 1 中,我不能输入 (_) 和 (1),但可以为 (_) 和 "n.k" 或 (1) 的任何内容留空。
使用 index/match 您实际上可以匹配所有这些,但事情是这么小 "separation" 在两个匹配的情况下,这就是我们有 IF/IFERROR 的原因。