[[20030430222123]] 『連続シートの指定セルの数字を計算するには?』(てんてん) ページの最後に飛ぶ

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

 

『連続シートの指定セルの数字を計算するには?』(てんてん)

連続したシートの指定セルの数字を計算するには?。

ひとつのブックに、1から100までの数字を付けられたシートがあります。

このシートの任意のセル(例えばA1)だけを、数字を指定して

計算する方法が分かりません。具体的には、

「1〜100までのシート以外にシートを作り、そのシートの任意のセルに数字を入れると
 1からその数字までのシートの指定したセルを合計して表示させる」

というものです。計算式では出来ない、と聞いてマクロに挑戦したのですが・・・

これがなかなか・・・。皆様の知恵をお貸しください。


 「1〜100までのシート以外にシートを作り、そのシートの任意のセルに数字を入れると
 1からその数字までのシートの指定したセルを合計して表示させる」
シート101にシート1〜シート100のA1番地の合計を求めるには  =SUM(Sheet1:Sheet100!A1)
で求めることが出来ます。この式を下方コピーすればシート1〜シート100のA2〜任意のA列番地の合計が表示されます。
この原理を応用されては如何ですか?
 (シニア)

  こん○○わ。かなり強引かもしれませんが、、、
{前置きとして}
私は1〜10までのsheetと合計の計11のsheetを作成して試しました。
1〜10までのsheetのA1セルに任意の値を入力しました。
1〜10までのsheetのC1セルにsheet名を取得しました。
1〜10までのsheetのD1セルに文字列から数値に変換するVALUE関数を入力しました。
1〜10までのsheetのB1セルにIF関数を入力しました。
合計のsheetのB2セルに1から合計したいシート名(数値)を入力する欄を設けました。
合計のsheetのC2セルに結果を求める様にしました。

 まず、任意のセルにsheet名を取得します。数式的には,
 =MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,31)
 です。(どのセルでも構いません。ちなみに私はC1に求めました。)
 この数式で取得したsheet名は文字列扱いになりますので
 文字列から数値に変換します。その数式をD1セルに求めたのが
 =VALUE(C1)
 です。次にB1セルに
 =IF(D1<=合計!B2,A1,"")
 とします。そして、合計のsheetのC2セルに
 =SUM('1:10'!B1)
 としました。これでお望みの結果が得られると思います。
 おっと、、ちなみにsheet名を取得する関数が含まれていますので
 sheet名を取得する関数を入力してから一度保存をして下さい。
 [よし坊!]

コメント返信:

[ 一覧(最新更新順) ]


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