单元格复杂的计算,有没有大佬会批量计算生成的方法。

图1 批量生成到图2的效果。
广东省
浏览 321
收藏
2
分享
2 +1
31
+1
全部评论 31
 
墨云轩
墨云轩 Lv.2 潜力创作者KVPWPS寻令官

Lv.2潜力创作者

回答:=TEXTJOIN(CHAR(10),1,CHOOSECOLS(TEXTSPLIT(A2,":",CHAR(10)),1)&":"&CHOOSECOLS(TEXTSPLIT(A2,":",CHAR(10)),2)*1.1)
· 河北省
回复
墨云轩
墨云轩Lv.2 潜力创作者KVPWPS寻令官

Lv.2潜力创作者

回答:=TEXTJOIN(CHAR(10),1,CHOOSECOLS(TEXTSPLIT(A2,":",CHAR(10)),1)&":"&CHOOSECOLS(TEXTSPLIT(A2,":",CHAR(10)),2)*1.1)
· 河北省
1
回复
 
恰同学少年
还可以这样。 =REDUCE(F6,REGEXP(F6,"(?<=:)(\d+)[^\s]?",3),LAMBDA(x,y,REGEXP(x,y,2,"¥"&y*1.1)))
· 黑龙江省
回复
 
恰同学少年
需要手动点击一下换行。 不知道理解的对不对。仅供参考。注意:冒号的全角和半角区别。 需求二: =TEXTJOIN(CHAR(10),TRUE,SCAN(0,TEXTSPLIT(F6,CHAR(10)),LAMBDA(x,y,REGEXP(y,"(?<=:)(\d+)",2,TEXT(REGEXP(y,"(?<=:)(\d+)")/6.8/0.8,"0.00"))))) 需求一: =TEXTJOIN(CHAR(10),TRUE,SCAN(0,TEXTSPLIT(F6,CHAR(10)),LAMBDA(x,y,REGEXP(y,"(?<=:)(\d+)",2,REGEXP(y,"(?<=:)(\d+)")*1.1))))
· 黑龙江省
2
回复
恰同学少年
=TEXTJOIN(CHAR(10),TRUE,SCAN(0,TEXTSPLIT(F6,CHAR(10)),LAMBDA(x,y,REGEXP(y,"(?<=:)(\d+)",2,"$"&TEXT(REGEXP(y,"(?<=:)(\d+)")/6.8/0.8,"0.00"))))) =TEXTJOIN(CHAR(10),TRUE,SCAN(0,TEXTSPLIT(F6,CHAR(10)),LAMBDA(x,y,REGEXP(y,"(?<=:)(\d+)",2,"¥"&REGEXP(y,"(?<=:)(\d+)")*1.1))))
· 黑龙江省
1
回复
 
愛玲
需求一:计算单元格里“:”后的数字,每一行乘以1.1 批量改变生成“:”后的结果。不影响“:”前的内容。计算好后还需要在“:”统一加上符号。 需求二:计算单元格里“:”后的数字,每一行除以6.8除以0.8 只保留小数点后两位。 批量改变生成“:”后的结果。不影响“:”前的内容。计算好后还需要在“:”统一加上符号。 图一是需要计算的表格,图二是我单个计算好一个个改成我需要的效果的。 或者有其他快速批量计算生成的方法也可以
· 广东省
1
回复
wils
wilsLv.2 潜力创作者

Lv.2潜力创作者

function t1(s) { return s.Value2.replace(/\d+/g, m => "¥" + (m * 1.1).toFixed(2)) } function t2(s) { return s.Value2.replace(/\d+/g, m => "¥" + (m / 6.8 / 0.8).toFixed(2)) } 在宏里定义这两个方法,然后在公式里调用它,然后设置单元格自动换行
· 海南省
1
回复
 
wils
wils Lv.2 潜力创作者

Lv.2潜力创作者

你说清楚计算的过程啊,如果只是文本中的数字乘以一个数,那正则就行,不是难事
· 海南省
回复
愛玲
是的,文本中的数字乘以一个数,正则是什么意思
· 广东省
回复
 
95522955
你这是想提取文本里单行金额的总金额?
· 上海
回复
愛玲
豆包也帮不了我,我想计算单行里的每个数值,一个单元格有三四五行。批量计算,同时在计算好的数值后加入“¥”符号
· 广东省
回复
 
Hypnotist
Hypnotist Lv.3 优质创作者WPS寻令官WPS产品体验官

Lv.3优质创作者

回答:能不能解释一下具体的需求呢?
· 四川省
回复
愛玲
就是计算每个单元格里“:”后的数字,每个都乘以1.1
· 广东省
回复