提问人:inasimplerhyme 提问时间:11/16/2023 更新时间:11/19/2023 访问量:64
我需要一个谷歌表格单元格公式,以便在每次多行和多列出现值时显示
I need a google sheets cell formula to display every time a value occurs over multiple rows and columns
问:
我有一个日历月的网格,第一行的日期和左列的一天中的时间。我需要一个单元格公式,该公式将列出值的每个实例的天数。例如,如果“名称 1”出现在 1 月 1 日、3 日和 5 日,则单元格将指示“1 月 1、3、5 日”。我应该链接我尝试创建的一个例子。(这是我向 Stackoverflow 提出的第一个问题,如果格式错误,请深表歉意。
我实际上有一些东西可以工作,但它非常长,需要辅助列,并且将来绝对是一个巨大的痛苦,因为我计划创建一个跨越字面数年的时间表。我希望它尽可能简单。
我目前的公式包括 COUNTIFS 和在数字之间创建逗号的复杂方法。(这是我的主要问题。我猜像 ARRAYFORUMLA 这样的东西可能与 FILTER 和 TEXTJOIN 结合起来会更容易,但我不知道怎么做。谢谢你的任何想法!
答:
你试过这个公式吗: =TEXTJOIN(“,”, TRUE, IF($B$2:$ZZ$100=“Name 1”, TEXT($B$1:$ZZ$1, “mm d”), “”)) ?
评论
莱拉托最初的回答并不完全正确,但如果没有它,我永远不会弄清楚,所以非常感谢你,莱拉托!
这成功了:
=(TEXTJOIN(“,”, TRUE,(UNIQUE(FLATTEN(TRANSPOSE(iferror(ARRAYFORMULA(if(search(“NAME 1”,$B$2:$K$18),TEXT($B$1, “MMM”), “”)),“”)))))))&(TEXTJOIN(“,”, TRUE,(UNIQUE(FLATTEN(TRANSPOSE(iferror(ARRAYFORMULA(if(search(“NAME 1”,$B$2:$K$18),TEXT($B$1:K1, “D”), “”)),“”)))))))
已编辑以更新。我最初的公式我认为有效,但我意识到它按字母顺序对数字进行排序,因此它们出现了“1,10,2,3”等。删除 SORT 并添加 TRANSPOSE 修复了它。
评论
as I'm planning on creating a schedule that spans literal years
如果是这样,如果输入数据本身包含多个月+年,预期输出会是什么样子?