如何在一个Excel数组中testing元素存在于另一个Excel数组中
我有一个时间序列数据的电子表格,里面有一系列的标记,表明发生了某些事件。
像这样:
ABCD 1 Date Event1 Event2 Event3 2 24/10/2016 T NULL NULL 3 31/10/2016 S NULL NULL 4 06/10/2016 NULL NULL NULL 5 20/10/2016 V NULL NULL 6 20/10/2016 TSV 7 01/12/2016 T NULL NULL 8 01/12/2016 ST NULL 9 29/11/2016 NULL NULL NULL 10 10/10/2016 T NULL NULL
然后,我得到一个查询表与一列事件:
A 1 T 2 S 3 V
我想要做的是在时间序列中创build一个新的列,以标记单个值,例如1,如果查找中至less有一个,但可能更多的事件已经发生。
什么是这样做的有效方法?
更新:
问题是更复杂的是,可能有非NULL事件types不出现在我的查找列表中,我不想触发该标志。
例如,如果我有:
9 29/11/2016 G NULL NULL
我想标志0,但是
10 10/10/2016 GT NULL
我想标记1。
我的理解是,检查Event1列是否具有查找表中的某个值就足够了。
为了简单起见,我将暗示两张表都在不同的表单中。
因此,所有你需要做的就是在第一张表中新创build的列上应用VLOOKUP公式(我们简单的称之为“标志”)。
第一个单元格(E2)的公式应该是:
=VLOOKUP(B2, Sheet2!A:A, 1, false)
只需将相同的公式拖到其余的行中,或者双击该单元格的右下angular,就可以了。
这也会告诉你那个date的第一个事件是什么。 如果你只想要一个比特值(1/0),你可以用简单的IF来包装公式。
希望这可以帮助!
编辑:
新的信息后,解决scheme并没有太大的改变:
=IF(IsNA(VLOOKUP(B2, Sheet2!A:A, 1, false)), 0, 1) + IF(IsNA(VLOOKUP(C2, Sheet2!A:A, 1, false)), 0, 1) + IF(IsNA(VLOOKUP(D2, Sheet2!A:A, 1, false)), 0, 1)
这甚至会告诉你每行有多less个值。