私がしようとしているのは、選択範囲内のすべての要素に自分自身のfunctionDigitを適用し、それらを合計することです。配列関数でExcel:多くの要素にユーザー定義関数を適用して合計する方法
、あなたは選択の平方根のすべてを合計するには
{=SUM(SQRT(A2:A10))}
のようなものを行うことができます。私がしたいのは、効果的にSQRTを私自身の機能に置き換えることです。具体的には、私はその下の1を掛け、各要素に対してonlyDigitsを行い、その後、1つのセルの最後の合計を表す合計に追加します
{=SUM(PRODUCT(onlyDigits(A2:A10), B2:B10))}
のようなものを持ってできるようにしたいです。
私の関数のDiggitsは、入力(セル)を取り込み、数値だけを取得するので、数値入力を受け取るだけでなく、私はここにいます。ここにソースがあり、別の質問からコピーしました:
Function onlyDigits(s As String) As String
' Variables needed (remember to use "option explicit"). '
Dim retval As String ' This is the return string. '
Dim i As Integer ' Counter for character position. '
' Initialise return string to empty '
retval = ""
' For every character in input string, copy digits to '
' return string. '
For i = 1 To Len(s)
If Mid(s, i, 1) >= "0" And Mid(s, i, 1) <= "9" Then
retval = retval + Mid(s, i, 1)
End If
Next
' Then return the return string. '
onlyDigits = retval
End Function
これは可能ですか?もしそうなら、どうしたらいいですか?本当にありがとう!あなたは、配列を返す必要が
私はなぜあなたの関数は 'STRING'たようで、理解してわかりませんか?あなたは何らかの数値を返すと思いませんか? 「ロング」または「ダブル」であってはなりませんか? –
「数値入力だけでなく」とはどういう意味ですか?より多くの情報を提供できますか?ワークシート内のデータのサンプルと、この「関数」がどのように適用されているかのようです。また、期待される結果は何ですか? –