我试图在一个列中创建一个日期数组,并且我使用AROAYFORUMULA的CHOOSE和CONCATENATE公式遇到了麻烦。有没有办法解决以下问题:
第一栏包含日期;第一次约会是在一个Weds;所有其他日期都在星期一
我用的时候
= CONCATENATE(ARRAYFORMULA(文本($ I9:$ I12, “DDD”)), “111”)
= ARRAYFORMULA(CONCATENATE((文本($ I9:$ I14, “DDD”)), “111”))
= ARRAYFORMULA(CONCATENATE((ARRAYFORMULA(文本($ I9:$ I14, “DDD”))), “111”))
我得到以下单细胞反应:
WedMonMonMon111
我想要得到的是:
周三111
周一111
周一111
Mon 111
当我使用以下等式时:
=ARRAYFORMULA(CHOOSE( weekday(I10:I14), "1 Sun", "2 Mon", "3 Tue", "4 Wed", "5 Thurs", "6 Fri", "7 Sat"))
=ARRAYFORMULA(CHOOSE(ARRAYFORMULA(weekday(ARRAYFORMULA(I10:I14))), "1 Sun", "2 Mon", "3 Tue", "4 Wed", "5 Thurs", "6 Fri", "7 Sat"))
=ARRAYFORMULA(CHOOSE( ARRAYFORMULA(weekday(I10:I14)), "1 Sun", "2 Mon", "3 Tue", "4 Wed", "5 Thurs", "6 Fri", "7 Sat"))
=ARRAYFORMULA(CHOOSE(weekday(ARRAYFORMULA(I10:I14)), "1 Sun", "2 Mon", "3 Tue", "4 Wed", "5 Thurs", "6 Fri", "7 Sat"))
我得到以下单细胞反应:
2月一日
我想要的是
1周三
2月11日
2月11日
2月11日
2月11日
我可以使用以下等式得到上面列出的日期格式:
= ARRAYFORMULA(工作日(I9:I14)&“”& Text(I9:I14,“ddd”))
但我想知道是否有办法将AROAYFORUMULA用于CHOOSE和CONCATENATE功能。有谁知道这个?
答案 0 :(得分:2)
但我想知道是否有办法使用CHOOSE和 CONRATENATE函数与ARRAYFORUMULA。
不是你想要使用它们的方式,并且出于不同的原因。
CONCATENATE是一个“聚合”功能(如SUM,AVERAGE等),它将“吞噬”并处理括号内的所有内容。换句话说,它不能在数组上迭代。解决方案是使用&
运算符(正如您在最终公式中所做的那样)。
选择有点奇怪;无论出于何种原因,在最新版本的Sheets中,Google员工已经删除了在第一个参数中对数组进行迭代的能力。您列出的所有选择的示例都将作为旧版本中的数组公式(尽管您只需要一个ArrayFormula函数)。
对于您的具体示例,我认为您的最终公式是最好的。但是如果你想复制以下的预期效果:
=ArrayFormula(CHOOSE(range,"element 1","element 2",...))
你可以使用这种奇怪的解决方法:
=ArrayFormula(HLOOKUP("element 1",{"element 1";"element 2";...},range,0))
答案 1 :(得分:0)
用arrayformula浓缩公式。您可以使用&
进行合并,如下所示:
=arrayformula({B2:B8&text(E2:E8,"ddd")})