处理语法以便在Excel中执行计算

假设我们有一组包含值对(a_i,a_j)的单元格。 有没有办法使Excel能够区分这些值? 允许Excel理解括号和逗号语法的最简单的方法是什么,以便它可以消除差异并将计算的值放在括号的下面/旁边? 请注意,其中出现这些值的一些单元可能是合并的单元格。 具体而言,在A1:C10范围内,范围内的所有其他单元格中可能有3个合并单元格。 能够简单地突出显示这个范围(或者仅仅是单独的块单元)并且为包含上述格式的值对的单元格(合并或不合并)计算差异是理想的。 也就是说,一个解决scheme适用于单个单元格,合并与否,也是非常有用的。

试试这个小macros:

 Sub KalKulator() Dim zum As Variant For Each r In Selection v = r.Text ary = Split(Replace(Replace(v, ")", ""), "(", ""), ",") zum = CDbl(ary(0)) + CDbl(ary(1)) r.Value = r.Value & CStr(zum) Next r End Sub 

如果您select单元格,如:

 (5,6) (8,99) 

它会将它们转换成:

 (5,6)11 (8,99)107 

注:#1

由于编码,它不会正确处理合并单元格。

编辑#1:

此版本将处理合并单元格的一些实例,并更正“ – ”

 Sub KalKulator2() Dim zum As Variant For Each r In Selection If r.Value <> "" Then v = r.Text ary = Split(Replace(Replace(v, ")", ""), "(", ""), ",") zum = CDbl(ary(0)) - CDbl(ary(1)) r.Value = r.Value & CStr(zum) End If Next r End Sub 

之前: 之前

后:

后