字母堆金字塔
=IF(LEN(A1)<27,REPT(CHAR((96)+ROW(A1)),ROW()),"")
构建原理
1. 小写字母a ,code值为97
2. 用char(96+ROW(A1)来产生CHAR(97)。(96+ROW(A1)是为下拉时增加行号。
3. 用 工作簿函数REPT,构建重复字母:
REPT(text,number_times) ,Text:需要重复显示的文本。Number_times:是指定文本重复次数的正数。
这里REPT(CHAR((96)+ROW(A1)),ROW()) 把公式理解成 rept(a,row()),公式下拉填充成 rept(b,row(b))……依次类推。
4.用LEN(A1)<27 测试当前单元格长度是否超过27。
5.用=IF(当前单元格<27,当前单元格,"")来判断当前单元格是否超过27,如果超过,返回空。公式=IF(LEN(A1)<27,REPT(CHAR((96)+ROW(A1)),ROW()),"")
由于公式在循环引用自身单元格(如:IF(LEN(A1)<27 ,当没有公式填充时 A1一定<27,但一旦下拉填充单元格时,会出现>27,而没填充时一定<27) 单元格自身判断。所以启用迭代计算,当公式下拉完成后,重新计算判断是否超过27,如果是返回空。
最后单元格格式设居中对齐达到金字塔效果
|