![](/img/trans.png)
[英]How to use comma separated values in a cell, as parameters in formula (PivotTable specifically)?
[英]Use comma separated value of a single cell as input for array formula
我想構建一個接受單個單元格的分隔值作為輸入的數組公式:
單元格 A1:1;3;4
單元格 A2:={Sum(If(A3:F3)=A1,A4:F4))}
如何告訴 excel 將 A1 中的字符串解釋為數組? 我嘗試設置自定義 vba 函數,但無法將 vba 數組正確返回到 excel 公式。
任何人都可以幫忙嗎?
我用 VBA 嘗試了什么:
Function Matrix(vector)
Dim arr As Variant
arr = Array(Split(vector, ";"))
Matrix = arr
End Function
在上面的公式中,我用 Matrix(A1) 替換了 A1。 但是向量的值作為字符串而不是整數返回(抱歉,實際上使用的是德國 Excel):
謝謝彼得
一些聰明的某某將為您提供我期望的公式,但這里有一個 VBA 解決方案。 我認為您需要傳遞兩個參數(至少) - 數組和查找范圍。
Function Matrix(vector, r As Range) As Variant
Dim arr As Variant, i As Long, v As Variant
arr = Split(vector, ";")
For i = LBound(arr) To UBound(arr)
v = Application.Match(Val(arr(i)), r.Rows(1), 0)
If IsNumeric(v) Then Matrix = Matrix + r(2, v)
Next i
End Function
C1中的公式是
=matrix(A1,A3:D4)
請注意, Split
返回一個數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.