希望标题不要太混乱。
这是我的项目:
我正在尝试弄清楚如何让右侧的名称(NICK-GL)在底部彼此堆叠,当其中一个星期一星期五框中包含相关名称之一时,即,当F3中显示Nick时,F21中出现NICK-GL。右边的名字每周都会改变。我希望它们能够自动跳到底部列表的顶部,但保持它们在名称列表中的顺序。
如果你已经不知道,我是初学者。
我在 stackoverflow 上找到了这个公式,但我不知道如何将其实现到我的工作表中。
=LET(datal,E74:E83,datar,T74:T82,dell,"/",delr,"-",
dl,FILTER(datal,LEN(datal),""),
IFNA(XLOOKUP(TEXTBEFORE(dl,dell),
TEXTBEFORE(datar,delr),datar),dl))
如果有人也可以向我解释其中每个部分的含义,我将非常感激。
所以
LET function
可以让您命名和“堆叠”计算/变量;我来给你分解一下:
=LET(datal,E74:E83,
datar,T74:T82,
dell,"/",
delr,"-",
dl,FILTER(datal,LEN(datal),""),
IFNA(XLOOKUP(TEXTBEFORE(dl,dell),TEXTBEFORE(datar,delr),datar),dl))
datal,E74:E83
选择范围 E74 到 E83,并将其称为“datal”;
datar,T74:T82
对 T74 到 T82 范围执行相同操作,并将其称为“datar”;
dell
是一个变量,后面用来放入“/”;
delr
作用相同,但带有“-”;
dl,FILTER(datal,LEN(datal),"")
根据所选范围内文本字符串的长度过滤“数据”,如果没有找到任何内容,则不输出任何内容(“”); -我不太清楚LEN函数是如何用于过滤数据的-
最后我们有公式的计算部分:
IFNA(XLOOKUP(TEXTBEFORE(dl,dell),TEXTBEFORE(datar,delr),datar),dl))
IFNA 包含公式,它是 IFERROR 的变体;当包含的公式返回 NA 错误时,它将输出“dl”。
XLOOKUP 将搜索“dl”变量(我们在上面命名),但仅搜索该数据的一部分:TEXTBEFORE 用于文本,但在分隔符(dell 或“/”)之前;在“datar”中,但同样只是部分,这次是“-”之前的文本(delr)。
然后 XLOOKUP 从“datar”返回。
我假设您对 XLOOKUP 有所了解。
希望您能从中学到一些东西,如果仍有不清楚的地方,请随时寻求帮助。希望我或其他人可以带来更多澄清。