求助,提取表格中的数字
excel吧
全部回复
仅看楼主
level 5
如图,现在公式只能满足部分,因为I列的开头第一个数字有三位的,有两位的有一位的,所以现在这个公式里的MID函数不能直接拉,不通用,请问大佬有没有一步到位的通用方法,就是不管第一个数字是几位的,都能直接提取成K列的格式
2025年04月10日 02点04分 1
level 5
补充说明一下,第一位数和后两位有关联,213=1*0+(8-1)*28+17,66=2*0+(3-1)*28+10,
请大佬指教
2025年04月10日 02点04分 3
level 12
=SUBSTITUTES(A1,{"_","_","_"},{"_A","_B","_C"},{1,2,3})
2025年04月10日 02点04分 4
=TEXTJOIN({"_A","_B","_C"},,TEXTSPLIT(A1,"_"))
2025年04月10日 02点04分
大佬,第一种方法试了不行,我的excel里只有SUBSTITUTE函数,这个函数把数字提取成 213_A1_8_17 213_1_B8_17 213_1_8_C17 ,分到三个单元格里去了,第二种方法是我的excel版本没有textsplit函数[狂汗]
2025年04月10日 03点04分
level 11
=REGEXP(A2,"\d+_(\d)_(\d)_(\d+)",2,"A\1_B\2_C\3")
2025年04月10日 03点04分 5
=REGEXP(A2,"\d+_(\d_)(\d_)(\d+)",2,"A\1B\2C\3")
2025年04月10日 03点04分
@德鲁咕噜 嗯,对味[滑稽]。 但是我咋就没想起来用替换呢,而且这样还能应对_数量不统一的情况[勉强]
2025年04月10日 03点04分
谢谢大佬,我要去下个新版的excel了,这个函数我的excel也没有[狂汗]搞个新版的试试
2025年04月10日 03点04分
@满船清梦压星河℃ WPS365官网最新版
2025年04月10日 03点04分
level 11
=substitute(substitute("A"&mid(a2,find("_",a2)+1,99),"_","_B",1),"_","_C",2)
2025年04月10日 03点04分 6
=textjoin("_",,{"A","B","C"}&text({-1,0,"@"},substitute(substitute(a2,"_",";"),0,"!0")))
2025年04月10日 03点04分
谢谢大佬 已成功
2025年04月10日 05点04分
level 11
=textjoin("_",,{"A","B","C"}®exp(i2,"\K\d+"))
2025年04月10日 03点04分 7
舒服了
2025年04月10日 03点04分
@德鲁咕噜 想堆长的,但是不想开表格[滑稽]就偷个正则用用吧[滑稽]
2025年04月10日 03点04分
level 11
=SUBSTITUTES(MID(A2,FIND("_",A2),99),"_",{"A","_B","_C"},{1,2,3})
2025年04月10日 03点04分 8
我下了个2024的,更新了365,但是还是没有这个带S的函数,只有不带s的那个,不过按照楼上方法已经实现了,谢谢大佬[哈哈]
2025年04月10日 05点04分
我知道了 我用的不是WPS365,没用WPS,主要是WPS里画图,坐标轴数据间隔最大只能选255,我数据太多了,得两三千一个间隔,不然横坐标太密集[狂汗]
2025年04月10日 05点04分
level 9
=CONCAT({"A","B","C"}®EXP(A2,"(?<=_)\d+_?"))
2025年04月10日 05点04分 9
只针对本题不严谨的解法=CONCAT({"A","B","C"}®EXP(A2,"(?<=_)\d."))
2025年04月10日 05点04分
level 11
低版本啊,那就堆吧[滑稽]=IFERRO(A&LEFT(MID(I2,FIND("_",I2)+1,LEN(I2)),FIND("_",MID(I2,FIND("_",I2)+1,LEN(I2)))-1)&"_B"&MID(MID(I2,FIND("_",I2)+1,LEN(I2)),FIND("_",MID(I2,FIND("_",I2)+1,LEN(I2)))+1,FIND("_",MID(I2,FIND("_",I2)+1,LEN(I2)),FIND("_",MID(I2,FIND("_",I2)+1,LEN(I2)))+1)-FIND("_",MID(I2,FIND("_",I2)+1,LEN(I2)))-1)&"_C"&MID(MID(I2,FIND("_",I2)+1,LEN(I2)),FIND("_",MID(I2,FIND("_",I2)+1,LEN(I2)),FIND("_",MID(I2,FIND("_",I2)+1,LEN(I2)))+1)+1,LEN(I2)),"")
2025年04月10日 07点04分 10
"A"&LEFT(..)打错了哈哈
2025年04月10日 07点04分
level 11
2025年04月10日 07点04分 11
1