[[20130522143001]] 『名前ボックスの足し算について』(ケン) ページの最後に飛ぶ

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

 

『名前ボックスの足し算について』(ケン)

名前ボックスにあるそれぞれを足し算したいのです。
方法を教えてください。

よろしくお願いします。


 それは、いろんなセルに名前が付けられていて、その名前が付けられたセルの値を足し算したいということ?
 関数で? マクロで?  (関数では無理かな?)

 (ぶらっと)

 A1を選択し、挿入 → 名前 → 貼り付け → リスト貼り付け。

 できたリストのB列で データ → 区切り位置 → 何もせずに完了

 B列を足し算。

 (GobGob)

 なるほど、メモ!メモ!

 2010 なら 数式タブ -> 数式で使用 -> リスト貼り付け ですね。

 (ぶらっと)

回答ありがとうございます。

単純にシートごとの名前定義されたセルを足したいのです。

初歩的ですみません。


 だから、1つのシート内での名前定義セルの合計は GobGObさんの方法でできるよ?
 それとも、ブック内のすべてのシートの名前付きセルの値を合計?

 (ぶらっと)

 もしかして・・・・

 単純に、ブック内に(どこのシートかは別にして) 名前1 名前2 名前3 といったものがあって
 それを足し算?

 それなら、=名前1+名前2+名前3 だけど・・・・?

 (ぶらっと)

名前は直打ちですか? 


 GobGob氏の方法では貼り付けるシートに設定されている名前とブックに定義されている名前の両方が出てくるのと
 セル範囲に設定されている名前だとエラーになったり一部の値しか表示されないなどの不都合があると思うが。
 (ねむねむ)

 >名前は直打ちですか? 

 これは、だれのコメント? (ケン)さんの質問?

 ともあれ、直うちだろうねぇ。関数なら。

 VBA なら。(ブックレベルとシートレベルの名前があったときに、ちょっと不安だけど)

 Sub Sample()
    Dim n As Name
    Dim c As Range
    Dim tot As Double

    For Each n In ThisWorkbook.Names
        For Each c In Range(n.RefersTo)
            If IsNumeric(c.Value) Then tot = tot + c.Value
        Next
    Next

    MsgBox tot

 End Sub

 UDF仕立てなら

 Function SumNames() As Double
    Dim n As Name
    Dim c As Range
    Application.Volatile
    For Each n In ThisWorkbook.Names
        For Each c In Range(n.RefersTo)
            If IsNumeric(c.Value) Then SumNames = SumNames + c.Value
        Next
    Next
 End Function

 で、セルには =SumNames()

 (ぶらっと)

 リスト作成後
 B1 =SUM(INDIRECT(A1))  下へコピー。

 B列合計

 (GobGob) 


コメント返信:

[ 一覧(最新更新順) ]


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