[[20091021235000]] 『曜日ごとのシートで合計数を別シートで使いたい』(ゆうけい) ページの最後に飛ぶ

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

 

『曜日ごとのシートで合計数を別シートで使いたい』(ゆうけい)

日曜から月曜までの発注シートがあり、各曜日の発注する合計数があります。
それを、別シートの発注用紙(各曜日はなく1つのみ)へ入力したいのですが、いい方法ありますでしょうか?

よろしくお願いします。


 日曜から月曜まで? 要は 7枚のシートがあるんですか?
 曜日別シートの合計数は全部同じセル(A10セルとか)なんでしょうか?
 であれば 3D集計でできますね。 (sky)

 3D集計(串刺し集計)
http://kokoro.kir.jp/excel/3d.html


sky様

私の説明不足でありました。

要は 7枚のシートがあるんですか?

その通りで、7枚あるのですが、各曜日ごとに発注したいために、木曜日であればその日の合計数を
発注用紙に写したいのです。

教えていただいた、3D集計では各曜日の合計数となっておりますので、その日発注分の合計数を1枚の別シート発注用紙へ転記したいです。


 今日が「木曜日」であれば、木曜日Sheetの合計を別Sheetへ転記するということですか?

 各Sheet名が曜日で、合計がA10セルであるとするならば
 =INDIRECT(TEXT(TODAY(),"aaaa")&"!A10")

 (gon-2)

gon-2さま

やってみたものの、うまく飛びません。

"aaaa"の中には特別に何か置き換えて入れるものなのでしょうか?


 gon-2さんではありませんが

 > やってみたものの、うまく飛びません。
 具体的にはどういう結果になるんでしょうか?

 Sheet名は 日曜日 のようになっているんですよね?

 (ていおう)2009/10/25 22:55

ていおうさま

ご指摘の結果ですが、日曜日発注分の合計数が日曜日シートにあります。

その合計数を別ファイルの発注用紙シートの発注数に飛ばしたいです。

実際、GON-2さまから教えていただいたものを、「発注用紙シートの発注数のセル」に入力しましたが

=INDIRECT(TEXT(TODAY(),"aaaa")&"!○○")が直接入力されたままになっていました。

説明が下手ですみません。


 数式がそのまま表示されるということでしょうか?

 表示形式が文字列に設定されていませんか?

 もしそうならまず表示形式を「標準」に変更して
 そのセルでF2キーを押して編集状態にしてから
 そのまま Enterキーを押してみてください。

 (ていおう)2009/10/25 23:26

ていおう様

今やってみたところ、#REF!と表示されてます。

初心者ですみません・・・。


 こちらで検証するときちんと表示されますが・・・

 Sheet名は本当に
 日曜日 月曜日 というようになっていますよね?

 数式に入力ミスはありませんよね?
 gon-2さんの数式
 =INDIRECT(TEXT(TODAY(),"aaaa")&"!A10")

 (ていおう)2009/10/26 0:24


ていおう様

夜分遅くまですみません・・・。

ファイル名は各曜日合計数でSHEET名は月曜日、火曜日となっております。

gon-2さんより教えていただいた数式をいれ"!A10"のところが

'[各曜日合計数.xls]日曜日'!$Q$19:$T$23)となっております。

合計数のセルの番地はQ19となっております。


 >別シートの発注用紙(各曜日はなく1つのみ)へ入力
 って事でしたが

 >'[各曜日合計数.xls]日曜日'!$Q$19:$T$23)
   ~~~~~~~~~~~~~~~~~~~~~~ブックが違うのですか?
 同じブックなら、ブック名は不要に思いますが
 書いて居られると言う事は、矢張りブックが違う?

 まずは新しいブックで
  今日(2009/10/26)は「月曜日」なので
 Sheet1のシート名を 月曜日 に変更。
 A10セルに 100 を入力
 Sheet2のQ19セルに、gon-2さんの式
 =INDIRECT(TEXT(TODAY(),"aaaa")&"!A10")
 を入れる。

 これで、月曜日シートのA10セルの値が参照出来ている事を
 確認してみられてはどうでしょう。

 その後、実際と違う点を説明してみられては?

 それから
 >"!A10"のところが 
 >'[各曜日合計数.xls]日曜日'!$Q$19:$T$23)となっております。
 これが良く分からないのですが・・・・
 数式を↓に変更して入れてある って事?
 =INDIRECT(TEXT(TODAY(),"aaaa")&"!'[各曜日合計数.xls]日曜日'!$Q$19:$T$23)") 
 でしたら、上手く行かないのは当然でしょうね。。。
   これなら↓かな?
   =SUM(INDIRECT(TEXT(TODAY(),"aaaa")&"!Q19:T23")) 
   でも、これだと その日の曜日シートのQ19:T23の範囲の合計
   に成ってしまいますが、そう言うことで良い?

 >日曜から月曜までの発注シートがあり、各曜日の発注する合計数があります。
 この合計を出しているセル番地は何処でしょう?
  月曜日シートの場合、何処ですか?
  火曜日シートの場合は?水曜日シートの場合は?
  それぞれ別のセル番地ですか?同じセル番地ですか?
 或いは、その様なセルは設けてないのですか?
  その場合は、どの範囲の合計を出したいのですか?

 上手く行かないのは、ご説明からこちらで想像している状態と
 実際になさりたいと思って居られる事が
 違っている為ではないかと思います。

 セル番地を使う 等して
 シートの状態をもっと詳しく説明してみられてはどうでしょう。

 ちなみに、この掲示板の使い方ですが
 文頭に半角スペースを入れると
 空行を入れなくても改行出来るように成りますよ。
_←ここに半角スペース。

 (HANA)

HANAさま

 私の勉強不足で、新しいブックで試してみましたところ、しっかりできました。

 違う点は、ブックが違います。
 1つのブック(各曜日合計数)には発注数の合計を出すために、月曜日 火曜日というように各曜日ごとにSheetが作ってあります。

 ここの合計を出しているセル番地は Q19 です。
 このセル番地は月曜日から日曜日まで同じセル番地です。

 その合計数を別のブック(発注用紙)A10 へ写したいです。
 分かりやすく、丁寧に教えていただき大変感謝しております。
 どうぞ、よろしくお願いします。

 INDIRECT関数を使うなら、
 ブックが開いてあることが前提です。

 つまり、INDIRECT関数のなかにブック名を入れて使用するなら
 当日の曜日のデータを参照したいと思ったときに
 各曜日合計数.xls を開く必要が有ります。

 現在、7つのシートのQ19セルのデータを
 曜日で切換ながら見ていく方針ですが
 それを止めて どちらかのブックのどこかのシートに
 例えば、
  B1セルに =日曜日!Q19
  B2セルに =月曜日!Q19
  B3セルに =火曜日!Q19
 と一覧の状態にして於いて
 INDEX関数などで参照するのはどうでしょう?

 例えば、
 発注用紙ブックに一覧を作った場合
  「=」での参照では参照するブックを開いておく必要は有りませんし
 各曜日合計数ブックに一覧を作った場合でも
  INDEX関数を使っての参照であれば
  参照するブックを開いておく必要は有りませんので
 どちらに作成しても問題ないと思います。

 具体的な数式は
  7セルを使用して一覧を作成する事は可能か
   可能な場合どちらのブックのどのシートの何処へ
   どの順番で作成するか
 あるいは、
  そんなスペースはとれないから、使うときは
   各曜日合計数ブックを開く事にする か
 ご報告が有ってからにしたいと思います。
 (とは言え、今日はもう寝てしまいますよ!!)

 尚、一覧を作成する際は 日曜日か月曜日を
 先頭データにして頂くのが良いと思います。
 (WEEKDAY関数の関係上)

 (HANA)

HANA 様

 おはようございます。
 昨日は夜遅くまでありがとうございました。

 例題のものでは、各曜日合計数ブックに別Sheetで作ることは可能です。
 よろしくお願いします。

 >各曜日合計数ブックに別Sheetで作ることは可能です。
 でしたら
   可能な場合どちらのブックのどのシートの何処へ
   どの順番で作成するか
 の内の「どちらのブックの」と言う点にしか
 ご報告頂けていない様ですので
 その他の件に付いてもご返答下さい。

 INDIRECT関数を使った式が
 「仮に○○」と言う話で進んできて
 これまで上手く行かなかった点を考えると
 今回の数式に関して
 「仮に○○」で話を進めたいとは思いません。

 数式は
 WEEKDAY関数で 今日の曜日の番号を取得し
 INDEX関数で、参照先のデータを参照する様にすれば
 出来そうに思います。
 感じとしては
 =INDEX(配列,WEEKDAY(TODAY(),種類))
 の様な イレコになった式です。

 どこにどの様に配置するのか
 情報を載せられないのであれば
 上を参考に、数式を作成してみて下さい。

 思ったデータを返してくれる式が出来ない場合は
 作成した式と共に、詳細を教えていただければと思いますが・・・
 たぶん、問題なく 出来ると思いますよ。^^

 (HANA)

HANAさま

 体調崩してしまい、返信おくれてすみませんでした。

 >>可能な場合どちらのブックのどのシートの何処へ
 どの順番で作成するか

 においては、曜日別合計数のブックに集計というSheet作成します。
 順番は日曜日から順に土曜日まで縦の列で作ってみようと思います。


 それは大変でしたね。
 もう宜しいのですか?

 >曜日別合計数のブックに集計というSheet作成します。
 >順番は日曜日から順に土曜日まで縦の列で作ってみようと思います。
 了解しました。
 頑張ってみて下さい。

 上でも書きましたが、上手く出来ない場合は
 「どの様な希望しない結果になるのか」を
 作成してみた数式と共に載せてみて下さい。

 (HANA)

HANA様
 集計というSheet作成しました、
 縦の列 B2 日曜日 B3 月曜日 B4 火曜日・・・・
     C2 日曜日合計数を=で持ってきた数値 以降 C3 月曜日合計数=で

 とういうものを作りました。
 =INDEX(集計!B2,WEEKDAY(TODAY(),1))
 という数式を持って来たのですが・・・。

 別Sheetに作った一覧がまずかったのでしょうか?


 一覧は問題在りません。
 数式がまずいと思います。

 INDEX関数をヘルプで調べると、二つ出てきますが
 今回は
  =INDEX(配列,行番号,列番号)
 で設定する方を使用します。

 また、集計シートのC2:C8のセルのデータを参照するので
 「列番号」の方は省略します。

 WEEKDAY(TODAY(),1)が 1 の時、集計シートのC2:C8の範囲の 1 番目のセル
                 =C2=日曜日合計数
 WEEKDAY(TODAY(),1)が 2 の時、集計シートのC2:C8の範囲の 2 番目のセル
                 =C3=月曜日合計数
  ・・・・・
 WEEKDAY(TODAY(),1)が 7 の時、集計シートのC2:C8の範囲の 7 番目のセル
                 =C8=土曜日合計数
 が、それぞれ返されれば良いので
 (配列)には、集計シートのC2:C8 の範囲を設定します。
 =INDEX(集計!C2:C8,WEEKDAY(TODAY(),1))

 この数式は
 (行番号)と(列番号)の位置に在る(配列)のデータを返します。
 行番号が 5 列番号が 0(省略)で、配列がC2:C8だったら
 5番目に在るセル C6セルの値が得られます。

 >縦の列 B2 日曜日 B3 月曜日 B4 火曜日・・・・
 であれば、TEXT関数とVLOOKUP関数を使用しても良いかもしれません。
 TEXT(TODAY(),"aaaa") これで今日の曜日が「○曜日」と言う文字列で求まるので
 =VLOOKUP(TEXT(TODAY(),"aaaa"),集計!B2:C8,2,FALSE)
 これだと、後から並びを変えた場合でも、B列のデータを正しく入れておけば
 こちらの数式を変更しなくても良いです。

 (HANA)


 そう言えば、集計シートは「曜日別合計数」ブックにつくって
 この数式は「発注用紙」ブックに入れるのですよね?

 でしたら、セル番地はブック間参照した物に成ると思いますが。。。?

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


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