Excel排班表公式需求:按输入数字显示对应数量的D/N
解决方案
无需数组公式的最简实现
你的需求完全可以用REPT函数直接实现,不需要复杂的数组公式。假设「Day」单元格为input!B6,「Night」单元格为input!C6,目标单元格输入以下公式即可:
=IF(input!B6="/", "/", IF(input!B6>0, REPT("D", input!B6), REPT("N", input!C6)))
REPT("D", input!B6):当Day单元格输入数字时,重复对应次数的"D"REPT("N", input!C6):当Night单元格输入数字时,重复对应次数的"N"- 保留了你原公式中
input!B6="/"时显示"/"的逻辑
如果需要同时支持Day和Night都输入数值(比如Day=1、Night=2时显示"DNN"),可以简化为:
=IF(input!B6="/", "/", REPT("D", input!B6)&REPT("N", input!C6))
数组公式实现(仅作参考)
如果你确实想尝试数组公式,这里提供一种写法(旧版Excel需按Ctrl+Shift+Enter确认输入,新版Excel直接回车即可):
=IF(input!B6="/", "/", TEXTJOIN("", TRUE, IF(ROW(INDIRECT("1:"&IF(input!B6>0, input!B6, input!C6)))>0, IF(input!B6>0, "D", "N"), "")))
不过这个方案本质是用数组生成重复序列再拼接,远不如REPT函数简洁高效,不推荐日常使用。
内容的提问来源于stack exchange,提问作者Jeong Park
相关产品推荐
相关产品推荐

