[[20060914152210]] 『同一セル内の複数の値の合算』(レオン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『同一セル内の複数の値の合算』(レオン)

一つのセルの中に値を複数入れている状態での合算方法と、複数のセル(1つのセルの中の値は特定ではない)の合算方法を教えてください。


 もうちょっと具体的な例示はできませんか?(ROUGE)

(ROUGE)さま、申し訳ありません。1つのセルの中に改行して10 20 30 と入力しています。別のセルで60の値を出したいのと、上記のセル内容(値の違う)が複数ある場合の合算の値です。このような説明でよいでしょうか?よろしくお願いします。


 通常の関数では私は思いつかなかったので、ユーザー定義関数を作りました。
 Alt+F11を押して、挿入-->標準モジュールを選択。
 出てきた画面に下記コードを貼り付けて閉じる。
 =leon(A1) とか =leon(A1:A10) というふうに数式を入力します。
 (ROUGE)
'----
Function leon(rng As Range) As Double
    Dim c As Range, x
    With CreateObject("VBScript.RegExp")
        .Pattern = "\d+(\.\d+)?"
        .Global = True
        For Each c In rng
            For Each x In .Execute(c.Text)
                leon = leon + x
            Next
        Next
    End With
End Function

 > 1つのセルの中に改行して10 20 30 と入力しています。

 そもそも、なぜこのようなデータを用意しているか、興味があります。
 わざわざ処理しにくい形にしておいて、あとから何とか処理したい、とするより、
 はじめから処理しやすい形にデータを入れることはできないのでしょうか。
 (P)


ご回答ありがとうございます。解決しました。
なお、質問については、素人でアンケート集約表の作り方が悪いのだと思いますが、行に設問が30程度有、列に回答事業所を入れていくように作っているのですが、基本的には記述や設問番号での回答が多いのですが、質問したように事業所の回答で複数回答(数値で)がある場合に行を増やせば集計は簡単なのですが、行を増やすとその他の記述や設問番号のセルの結合が必要になるので一つのセル内に複数の値を入れるようにしました。・・・解りにくくてすみません。

 単独セルの場合のみ。
合算したいセルがA列であるとします。
1行目の任意のセルを選択した状態で 挿入>名前>定義 で下記のように定義します。
名前   keisan
参照範囲 =EVALUATE(SUBSTITUTE(Sheet1!$A1,CHAR(10),"+"))
 
A1に
10
20
30
とあった場合、B1へ =keisan と入力するとそのセルの合計を計算します。
 
>上記のセル内容(値の違う)が複数ある場合の合算の値・・・
これはアイデアありません。
 
私なら データ>区切り位置で区切り文字Ctrl+Jを指定して作業セルへ
計算しやすいデータとして横方向へ展開します。
(みやほりん)(-_∂)b

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.