[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『連続シートの指定セルの数字を計算するには?』(てんてん)
連続したシートの指定セルの数字を計算するには?。
ひとつのブックに、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.