【问题标题】:Return multiple addresses of a lookup result返回一个查找结果的多个地址
【发布时间】:2021-12-24 01:10:09
【问题描述】:

我有一个查询,它检查一列是否有任何单元格值的多个实例并计算它们。这表明社交媒体内容被转发了多少次。

=query(query('Editorial 2022'!I:S,"select S, count(S) group by S label S 'Repost Link Column', count(S) 'No. of Reposts'"),"WHERE Col2 > 1 order by Col2 desc")

我正在尝试但未能做的是使用 CELL、INDEX、MATCH 返回所有这些实例的单元格引用。

=IF(A4="",,CELL("address",INDEX('Editorial 2022'!$S$3:$S$100,MATCH(A4,'Editorial 2022'!$S$3:$S$100,0))))

我知道这些只返回与公式中的条件匹配的第一个单元格引用。有谁知道我将如何返回所有单元格引用,理想情况下显示在上一场比赛右侧的单元格中?

Spreadsheet - Reposts Check Spreadsheet - Editorial 2022 Sheet

感谢任何可以提供帮助的人。

非常感谢,

标记

【问题讨论】:

  • 那些你想在其他公式中使用的单元格引用,或者只是你想创建超链接?
  • 问题应该是自包含的。虽然欢迎使用外部链接(注意:Google 表格 exposes your email address),但请考虑添加 table 或屏幕截图或 csv 文本(如 this by exporting as csv ) 来显示你的数据结构。
  • 谢谢@TheMaster 我以后会这样做的。
  • @player0 在此之后我不需要对任何内容使用单元格引用。只有人类需要这才能找到发现多个细胞的细胞。

标签: google-sheets indexing match google-sheets-formula


【解决方案1】:

QUERY() 可以帮助您。但首先您应该准备好数据,以便在找到匹配项时,QUERY() 输出单元格地址,而不是值本身

使用下面的公式,我们向单元格本身添加一个包含单元格地址的列ArrayFormula({ADDRESS(ROW('Editorial 2022'!S:S),COLUMN('Editorial 2022'!S:S),1,true,"Editorial 2022"),'Editorial 2022'!S:S})

现在使用QUERY() 查找所有匹配ArrayFormula(query({ADDRESS(ROW('Editorial 2022'!S:S),COLUMN('Editorial 2022'!S:S),1,true,"Editorial 2022"),'Editorial 2022'!S:S},"select Col1 where Col2 matches '"&A4&"'"))

所以我们使用JOIN() 函数将所有内容放在一个单元格中

=ArrayFormula(JOIN(",",query({ADDRESS(ROW('Editorial 2022'!S:S),COLUMN('Editorial 2022'!S:S),1,true,"Editorial 2022"),'Editorial 2022'!S:S},"select Col1 where Col2 matches '"&A4&"'")))

【讨论】:

    【解决方案2】:

    尝试:

    =INDEX(IFNA(REGEXREPLACE(SPLIT(VLOOKUP(A4:A, 
     TRIM(SPLIT(FLATTEN(QUERY(QUERY({'Editorial 2022'!S2:S&"♠", 
     TEXT(ROW('Editorial 2022'!S2:S), "♦00000")&"×'Editorial 2022'!S"&ROW('Editorial 2022'!S2:S)}, 
     "select max(Col2) where not Col1 = '♠' group by Col2 pivot Col1"),,9^9)), 
     "♠")), 2, 0), "♦"), "^\d+×", )))
    

    demo spreadsheet


    更新:

    =INDEX(HYPERLINK(IFNA(REGEXREPLACE(SPLIT(VLOOKUP(A4:A, 
     TRIM(SPLIT(FLATTEN(QUERY(QUERY({'Editorial 2022'!S2:S&"♠", 
     TEXT(ROW('Editorial 2022'!S2:S), "♦00000")&"×#gid=950541462&range=S"&ROW('Editorial 2022'!S2:S)}, 
     "select max(Col2) where not Col1 = '♠' group by Col2 pivot Col1"),,9^9)), 
     "♠")), 2, 0), "♦"), "^\d+×", )), IFNA(REGEXREPLACE(SPLIT(VLOOKUP(A4:A, 
     TRIM(SPLIT(FLATTEN(QUERY(QUERY({'Editorial 2022'!S2:S&"♠", 
     TEXT(ROW('Editorial 2022'!S2:S), "♦00000")&"×jump to S"&ROW('Editorial 2022'!S2:S)}, 
     "select max(Col2) where not Col1 = '♠' group by Col2 pivot Col1"),,9^9)), 
     "♠")), 2, 0), "♦"), "^\d+×", ))))
    

    demo

    注意:在您进入名为Editorial 2022的标签后,可以在URL地址中找到gid

    【讨论】:

    • @markwhiley 回答已更新
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 2010-09-25
    • 2020-10-23
    • 2020-11-25
    • 1970-01-01
    • 2012-03-30
    相关资源
    最近更新 更多