ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 781|回复: 12

[求助] 层级处理

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-7-24 10:41 | 显示全部楼层 |阅读模式
想要达到的效果,以"."为依据,如只有一个点,如果"."为1个则按序号+1处理,如果"."数量超过1,则继承上面的值,并在其后面加".",值按序号+1处理, 2023-07-24_104030.png

export2.zip

8.54 KB, 下载次数: 29

TA的精华主题

TA的得分主题

发表于 2023-7-24 11:16 | 显示全部楼层
C3=INDEX(C$1:C2,LOOKUP(9^9,IF(MID(A$2:A2,LEN(A3)-LEN(SUBSTITUTE(A3,".","")),1)<>".",ROW(A$2:A2),"")))&"."&COUNTIF(A$2:A3,A3)
数组公式,按Ctrl+Shift+Enter结束。
结果与原效果不一致,可能理解规则有误。

TA的精华主题

TA的得分主题

发表于 2023-7-24 11:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 象山海鲜 于 2023-7-25 09:21 编辑
  1. =LOOKUP("a",REPT(C$1:C1&".",ROW($1:1)>1)&1/FREQUENCY(IF(A$1:A2=A2,-ROW($1:2)),(LEN(A$1:A1)=LEN(A2)-1)*-ROW($1:1))^-1)
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-7-24 11:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
  1. =TEXTJOIN(".",,1,TEXT(COUNTIF(A$2:A2,REPT(".",COLUMN(A:J)-1)&"*")-COUNTIF(A$2:A2,REPT(".",COLUMN(A:J))&"*"),"0;;;"))
复制代码

累了。。。用这个函数的话,得先做降序排序,仅供参考

TA的精华主题

TA的得分主题

发表于 2023-7-24 13:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
c2=IF(ISERROR(FIND(".",A2)),A2,INDEX($E$1:E1,XMATCH(LEN(A2)-LEN(SUBSTITUTE(A2,".",""))-1,LEN($A$2:A2)-LEN(SUBSTITUTE($A$2:A2,".","")),,-1)+1)&"."&COUNTIF(INDEX($A$1:A1,XMATCH(LEN(A2)-LEN(SUBSTITUTE(A2,".",""))-1,LEN($A$2:A2)-LEN(SUBSTITUTE($A$2:A2,".","")),,-1)+1):A2,A2))

TA的精华主题

TA的得分主题

发表于 2023-7-24 13:20 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-7-24 13:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
BOM表层次展开?

TA的精华主题

TA的得分主题

发表于 2023-7-24 13:54 | 显示全部楼层
=IF(C1="效果",1,TEXT(,"[$"&SUBSTITUTE(C1,".","-",SUBSTITUTE(A2,".",))&"]")&"."&INDEX(EVALUATE("{"&SUBSTITUTE(C1,".",";")&";0}"),SUBSTITUTE(A2,".",)+1)+1)不知道为什么14行时1.3.2到15行就变成了1.3.3了

TA的精华主题

TA的得分主题

发表于 2023-7-24 17:20 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
模拟结果标蓝的部分有误吧?

C2=IF(ISERROR(FIND(".",A2)),A2&"",
IF(LEN(A2)>LEN(A1),C1&".1",
IF(LEN(A2)=LEN(A1),LEFT(C1,LEN(C1)-1)&RIGHT(C1,1)+1,
LEFT( XLOOKUP(A2,$A$1:A1,$C$1:C1,,,-1),LEN( XLOOKUP(A2,$A$1:A1,$C$1:C1,,,-1) )-1)&RIGHT( XLOOKUP(A2,$A$1:A1,$C$1:C1,,,-1),1)+1  )))



1.PNG

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-7-24 18:27 | 显示全部楼层
本帖最后由 wintroop 于 2023-7-24 18:41 编辑

为避免出现2位及以上的数字时出错,在10楼基础上再完善一下

C2=IF(ISERROR(FIND(".",A2)),A2&"",
IF(LEN(A2)>LEN(A1),C1&".1",
IF(LEN(A2)=LEN(A1),LEFT(C1,LEN(C1)-(LEN(C1)-FIND("@",SUBSTITUTE(C1,".","@",LEN(C1)-LEN(SUBSTITUTE(C1,".",))))))&RIGHT(C1,(LEN(C1)-FIND("@",SUBSTITUTE(C1,".","@",LEN(C1)-LEN(SUBSTITUTE(C1,".",))))))+1,
LEFT( XLOOKUP(A2,$A$1:A1,$C$1:C1,,,-1),LEN( XLOOKUP(A2,$A$1:A1,$C$1:C1,,,-1) )-(LEN(C1)-FIND("@",SUBSTITUTE(C1,".","@",LEN(C1)-LEN(SUBSTITUTE(C1,".",))))))&RIGHT( XLOOKUP(A2,$A$1:A1,$C$1:C1,,,-1),(LEN(C1)-FIND("@",SUBSTITUTE(C1,".","@",LEN(C1)-LEN(SUBSTITUTE(C1,".",))))))+1  )))

1.PNG
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 13:25 , Processed in 0.042998 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表