我有很多列有值。
我想要一个特定的列(在该范围之外)从以“国家:”开头的单元格中获取值。
因此,例如,如果该范围包含(比方说)F1 中以“国家/地区:”开头的单元格,那么 A1 也应该具有该值,依此类推。
更准确地说,我想要像this.
这样的东西谢谢!
有多种方法可以做到这一点
FILTER()
和SEARCH()
=FILTER(G2:K2,NOT(ISERROR(SEARCH("country: ",G2:K2))))
当没有包含“国家:”的行时返回
#CALC!
错误,当不止一行包含“国家:”时返回#SPILL!
错误(除非有足够的空间来显示整个溢出)。见例子
INDEX()
、MATCH()
和 LEFT()
=INDEX(G2:K2,MATCH(TRUE,LEFT(G2:K2,9)="country: ",0))
当没有包含“国家:”的行时返回
#N/A
错误,当多行包含“国家:”时返回第一个匹配项。见例子
XLOOKUP()
和 LEFT()
=XLOOKUP("country: ",LEFT(G2:K2,9),G2:K2)
当没有包含“国家:”的行时返回
#N/A
错误,当多行包含“国家:”时返回第一个匹配项。见例子
CONCAT()
、IF()
和 LEFT()
=CONCAT(IF(LEFT(G2:K2,9)="country: ",G2:K2,""))
当没有包含“国家/地区:”的行时返回空字符串,并且当多于一行包含“国家/地区:”时连接匹配项。见例子
还有很多其他方法可以解决您的问题。如果您可以指定在给定行中是否可以有一个或多个匹配列,以及您希望如何处理这种情况,则可能会向您展示更精确的解决方案。
我在土耳其语中使用 excel,单元格 F2 中的函数如下所示:
=EĞERHATA(DOLAYLI(ADRES(HÜCRE("sat";F2);HÜCRE("süt";F2)+BÜYÜK(EĞERHATA((BUL("country";$G2:$P2)>0);0)*$G$1:$P$1;TOPLA.ÇARPIM(EĞERHATA((BUL("country";$G2:$P2)>0);0)*1))));"")
我用的是英文翻译插件,可以是这样的:
=IFERROR(INDIRECT(ADDRESS(CELL("row",F2),CELL("col",F2)+LARGE(IFERROR((FIND("country",$G2:$P2)>0),0)*$G$1:$P$1,SUMPRODUCT(IFERROR((FIND("country",$G2:$P2)>0),0)*1)))),"")
笔记:
如果您为单元格 G1 = 1 / H1 = 2 提供数字,则此功能可以工作....
喜欢