首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google筛选并匹配(列出存在名称的标签)。

Google筛选并匹配(列出存在名称的标签)。
EN

Web Applications用户
提问于 2021-07-19 13:27:28
回答 1查看 51关注 0票数 0

我有4个游戏列,其中包含球员的名字。我想列出一个特定玩家的游戏。

代码语言:javascript
复制
     A.         B.          C.          D
Basketball   Bowling     Billiards   Badminton
----------   -------     ---------   ---------
John         Paul        Mark        Paul
Paul         Robert      James       Chris
Matt         Wesley      Brad        Dexter 

现在我想创建一个公式,列出保罗参加的所有比赛。提前感谢你的帮助。

EN

回答 1

Web Applications用户

回答已采纳

发布于 2021-07-19 17:18:51

好了,这看起来不错!(但很复杂)

  1. 创建2个命名范围: 1: lst_hds (范围(A1:D1)用于包含游戏名称,2: lst_db (范围(A3:D5))以包含玩家。
  2. 还在B10你要找的名字.
  3. 现在复制粘贴:=arrayformula( if(mid( text(sum( ( if( lst_db=$B$10, 10^(column(lst_db)-1),0) ) ),"0000") ,columns(lst_hds)+1-COLUMN(lst_hds),1)="1",lst_hds,"") )

现在,这是更容易扩大通过调整范围!当然,你可以把它转到垂直列表上。

我保留第一个公式供参考:

代码语言:javascript
复制
=FILTER(A1:D1,{countif(A3:A5,B10),countif(B3:B5,B10),countif(C3:C5,B10),COUNTIF(D3:D5,B10)})

希望它能帮上忙

EDIT 2021刚刚添加了一个更简单的解决方案(实际上是两个,但非常相似)。让我们看看他们:

  1. =arrayformula( if( mmult( {1,1,1}, arrayformula( if(A3:D5=$B$10,1,0) ) )=1,A1:D1,"")) ...or =array式( if( mmult( {1,1,1} ),array式( if(lst_db=$B$10,1,0) ) )=1,lst_hds,“”)!在列表增长时使用列表展开,并仅根据行调整{1,1,1}数组
  2. 使用过滤器,从而只得到结果(中间没有空单元格),=filter(lst_hds, mmult({1,1,1}, ( if(lst_db=$B$10,1,0) ) )=1)再次根据行调整{1,1,1}
票数 0
EN
页面原文内容由Web Applications提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webapps.stackexchange.com/questions/155900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档