我有一个由组件组成的公式和一个将每个组件转换为多个字符串的组件表。
我想用表中各个字符串之和的表达式替换每个组件。
示例:
公式= FOO / BAR
表格:
+-----------+---------+
| Component | Strings |
+-----------+---------+
| FOO | 1.1 |
| FOO | 1.2 |
| FOO | 1.3 |
| FOO | 5.1 |
| BAR | 101.10 |
| BAR | 101.15 |
| BAR | 5.10 |
+-----------+---------+
结果:(1.1 + 1.2 + 1.3 + 5.1)/(101.10 + 101.15 + 5.10)
编辑:我需要打印表达式而不是计算结果。
我认为解决方案可能涉及功能替代。
答案 0 :(得分:1)
假设您的数据在A2:B8
中,则可以按照以下公式进行操作。
=SUMIF(A2:A8,"FOO",B2:B8)/SUMIF(A2:A8,"BAR",B2:B8)
这就是你想要的吗?
答案 1 :(得分:1)
我写了一个快速的肮脏的UDF,让您知道如何完成它。
将此代码放入模块中,并在任何单元格中写入FTEXT并提供参数。
Function test(Ref As Range, para1 As String) As String
Dim Cell As Range
Dim temp1 As String
Dim temp2 As String
For Each Cell In Ref
If Cell.Value = para1 Then
temp1 = temp1 & Cell.Offset(, 1).Value & "+"
Else
temp2 = temp2 & Cell.Offset(, 1).Value & "+"
End If
Next Cell
test = "(" + Left(temp1, Len(temp1) - 1) + ")" + "/" + "(" + Left(temp2, Len(temp2) - 1) + ")"
End Function