在Mac版Excel中模拟Google Sheets的Flatten()函数输出求助
在Mac版Excel中复现Google Sheets的重复姓名输出效果
需求拆解
你需要实现两个核心效果:
- 从
2 - Staff Listing工作表的D9:D300区域提取292行员工名单 - 将每个姓名重复10次,生成单列输出
无需辅助列的动态数组公式
直接使用以下公式即可一步完成,无需拆分步骤:
=INDEX('2 - Staff Listing'!D9:D300,CEILING(SEQUENCE(ROWS('2 - Staff Listing'!D9:D300)*10,1)/10,1))
公式解释
ROWS('2 - Staff Listing'!D9:D300):自动计算员工名单的总行数(此处正好是292,无需手动输入)SEQUENCE(ROWS(...)*10,1):生成从1到2920的连续数字数组(对应292个姓名×10次重复的总行数)CEILING(SEQUENCE(...)/10,1):将每个数字除以10后向上取整,让前10个数字对应第1个员工,接下来10个对应第2个员工,以此类推INDEX(...):根据计算出的行号,循环提取员工姓名,实现每个姓名重复10次的效果
兼容旧版本Excel(无动态数组)
如果你的Mac版Excel不支持动态数组(非365版本),可以使用数组公式(输入后按Ctrl+Shift+Enter确认):
=INDEX('2 - Staff Listing'!D9:D300,CEILING(ROW(INDIRECT("1:"&ROWS('2 - Staff Listing'!D9:D300)*10))/10,1))
内容的提问来源于stack exchange,提问作者Brendon
相关产品推荐
相关产品推荐

