这是我的数据:
Sheet 1中:
A B PUMPKIN CAFE (formula) TESCO STORES 5555 (formula) THE WINDSOR CASTLE (formula) TESCO STORES 2344 (formula) THE WINDSOR CASTLE (formula)
Sheet 2中:
A B CAFE Eating out TESCO Eating in WINDSOR Eating out
现在,我的问题是:
如何在Sheet1上创建一个公式,根据Sheet1上的ColumnA是否包含Sheet2上ColumnA中的任何实例,在Sheet2上返回ColumnB的对应值?
我已经围成一圈,从MATCH到ISERROR和SEARCH,但似乎无法破解它。
感谢您的帮助。
答案 0 :(得分:0)
假设您的第一位数据位于Sheet1
而您的第二位(您正在查找)位于Sheet2
,则以下内容将起作用:
=INDEX(Sheet2!$B$1:$B$3,SUMPRODUCT((NOT(ISERROR(SEARCH(Sheet2!$A$1:$A$3,Sheet1!A1))))*ROW(Sheet2!$A$1:$A$3)))
重要的一点是Sumproduct
公式。 Sumproduct
将比较每行中多个条件的数据行。如果特定行的所有条件都为真,则它将总和一个值。
在这种情况下,标准是NOT(ISERROR(SEARCH()))
位。在SEARCH()
带回来的情况下,这将返回TRUE。
Sumproduct()
然后使用该条件为真的ROW()
公式将行号相加。因为只有一行可能是真的,所以它只添加一行..所以这就行了。
然后,INDEX()
公式只会从B
列中获取Sumproduct
返回的行的信息。
一个警告..如果Sheet2
中的Sheet1
中有一个以上的匹配位置sheet2
中的一个餐厅位置,那么B
中的行将被添加,而table.setStyleName("no-vertical-lines-or-border");
中的行将从 .v-table-no-vertical-lines-or-border .v-table-header-wrap /* remove header-table borders */,
.v-table-no-vertical-lines-or-border .v-table-body /* remove body-table borders */,
.v-table-no-vertical-lines-or-border .v-table-cell-content /* remove cell borders */ {
border: none;
}
返回1}}会错的。