[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『sheet参照の方法』(そら)
どうしてもわからなかったので質問させていただきました。
仕事で最近、売上の管理を任されるようになりまして、毎月各支社からエクセル形式の売上データが私のメールに添付されて届くようになっています。
それを雛形が作ってあるsheetに添付資料をコピーして張り付ければ、前は良かったのですが今は各支社からの売上データ内容が増えましてそのまま貼り付けれなくなりました。
ですから、雛形の他に別のsheetを作ってそこに添付されてきたデータを貼り付けて、そのsheetから必要な数値をひとつずつひろって参照してデータを作っています。
1〜12月のデータは残さないといけませんし、雛形も変えられないものですから私の方法としましては、毎回1つずつ数値をひろって参照してデータをつくる方法か
1月分はひとつずつ数値をひろって参照しますが、2月分はその参照するセルが1月分の参照のときにわかりますので、1月分の雛形のsheetをコピーして参照するセル番号はそのままでsheet名だけを手作業で変える方法で、これを12月分まであらかじめ作っておく。
この方法以外にもう少し効率的な方法がございましたら、お教えいただけると助かります。 そこまでエクセルについて詳しくないものですからある程度詳しくご説明いただける非常に助かりますので、どうかよろしくお願いいたします。
実際にどの様なデータから、どの様な表を作りたいのでしょう? サンプルを載せることは出来ませんか? 表は、エクセルから直接貼り付けると 簡単に記入出来ると思います。
1月に何行目に何が入力されているか決定したら その後は同じ項目は同じ行に入力される・・・と言う事ですかね?
また、必要な数値と必要でない数値はどの様に見分けるのでしょう?
そのブックには、送られてきたシートと、雛形となるシート それぞれが12ヶ月分 =24枚存在するのですかね?
「雛形となるシート」とは、例えば 印刷用に体裁を整えた物 といった感じの物でしょうか?
>参照するセル番号はそのままでsheet名だけを手作業で変える方法 これは、Ctrl + H の「置換」で一気に変更出来ると思いますが。
また、INDIRECT関数を使えば 雛形となるシートで参照先のシートを 指定すると、指定されたシートの該当セルの値を表示できるように はなるかもしれません。
例えば、Sheet1のA1セルにシート名を入力 Sheet1のA2セルに =INDIRECT(A1&"!A1") を入れておくと、A1セルの値によって 各シートのA1セルの値を表示します。
(HANA)
データは今は手元にありませんので、サンプルを送るってことはできませんが説明不足でしたのでもう少し詳しく説明しようと思います。
まず送られてくるエクセルの表と雛形の表は様式が異なります。(送られてくる表には小麦の数値を記入するセルが存在しますが、雛形のセルにはそれはありません) 提出や印刷をかけるのは雛形の表のほうですので、雛形の表にない項目の数値は記入する必要がないとうことになります。 また項目の順番もバラバラになっています。
例えば、送られてくる表のA1にある数値は雛形の表ではA5になったりと、すべての数値がバラバラになっています。
<そのブックには、送られてきたシートと、雛形となるシート
それぞれが12ヶ月分 =24枚存在するのですかね?>
はい。元となるデータのシートが12枚と雛形のシートが12枚の合計24枚です。
<1月に何行目に何が入力されているか決定したら
その後は同じ項目は同じ行に入力される・・・と言う事ですかね?>
はい。例えば、1月の元のデータのA1のセルの数値を参照して、1月の雛形のA5のセルに表示されるようにすると、月が変わるので数値は変わりますが、2月の元のデータのA1のセルの数値を参照して、2月の雛形のA5のセルに表示します。これは12月まで変わりません。
<必要な数値と必要でない数値はどの様に見分けるのでしょう?>
これは雛形の項目を重視しますので、元のデータにあっても雛形のほうにその項目がなければそれは参照しません。
少しサンプル的なものを作ってみます。
元のデータ 雛形
卵 小麦 パン コーヒー豆 小麦 卵 コーヒー豆
名古屋 A B C D 大阪 F E H
大阪 E F G H 東京 J I L
東京 I J K L 名古屋 B A D
↑
この列は必要ありません。
このような雛形の表を効率的に作れればと考えています。
また、ご面倒をおかけしますが良い案があればお教えいただけると助かります。
よろしくお願いいたします。
忘れそうなので最初に書いておきますが ●文章の先頭に半角スペースを入れると、改行がそのまま表示されます。 (←最初の行にはこの部分に半角スペースが入っています。 ↑の行には、「半角(」が入っていますが・・・・。) ●署名は自動的には付きませんので、その都度ご記入願います。
二つほど質問があります。 1.雛形となる表は12ヶ月分必要なのでしょうか? それとも、先に書きましたが 一枚の雛形で 参照先のシートを切換ながら表示するのでも良いのでしょうか? 2.それぞれ表示したいもの(アルファベットの部分)は 実際は数値でしょうか?それとも、文字でしょうか? 同シート内での式ですが [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [1] 卵 小麦 パン 豆 小麦 卵 豆 [2] 名古屋 1 2 3 4 大阪 6 5 8 [3] 大阪 5 6 7 8 東京 10 9 12 [4] 東京 9 10 11 12 名古屋 2 1 4 例えば、H2に =SUMPRODUCT(($A$2:$A$4=$G2)*($B$1:$E$1=H$1)*$B$2:$E$4) の式を入れておくと、G列と1行目の一致する物を A2:A4と、B1:E1の範囲から捜しその数字を合計した物を それぞれのセルに返します。
元データと違うシートで、雛形のシートは12ヶ月分必要なので有れば 雛形を一枚作成し、そのシートを複製、数式内の参照先シート名の変更 と言う作業がどうしても必要になってくると思います。
元データと同じシートとなっても良い (イメージとしては、元データを雛形シートに貼り付ける・・・ですが) のなら、上の配置を G列以降をA列に持ってきて元データ部分を それ以降の列に貼り付ける事にすれば(どこへ貼り付けても良いのですが・・・。) 数式内の参照先シート名の変更 と言う作業は必要無くなります。 雛形シートは12枚複製する必要がありますが。
変更できない部分と、変更できる部分はどこですかね?
(HANA)
(HANA)さん、色々とご指摘・アドバイスをいただきありがとうございます。
雛形は12か月分必要となります。
元のデータを雛形に直接貼り付けてできる方法があればその方法が私としては一番助かります。 その方法がわからないために、雛形12枚とそれに対応するシート12枚に元データを貼り付ける方法 を考えていました。
表示させたいものは数値です。
また質問で、ほんとうに申し訳ありませんが回答いただけると助かります。 お願いいたします。
(そら)
元のデータを雛形に直接貼り付けで良いのですか? それなら、 >例えば、H2に >=SUMPRODUCT(($A$2:$A$4=$G2)*($B$1:$E$1=H$1)*$B$2:$E$4) を試してみてください。
上のサンプルですと、G1:J4に数式等を入力した物を12シート用意しておき 毎月A:E列に送られてきたデータをそっくりそのまま貼り付けます。
元のデータと、印刷する用の範囲をどちらに置きたいかや 元のデータの大きさはどのくらいの大きさか 等は 私には分かりませんので。
一応、SUMPRODUCT関数の説明ページをはっておきます。 https://www.excel.studio-kazu.jp/lib/e3h/e3h.html ライブラリより「SUMIFとSUMPRODUCT関数」
ただ、一つのセルは一つのセルにしか対応しないと思いますので MATCH関数とINDEX関数を組み合わせたりして参照しても良いかもしれません。 例えば、H2に =INDEX($B$2:$E$4,MATCH($G2,$A$2:$A$4,0),MATCH(H$1,$B$1:$E$1,0)) や =VLOOKUP($G2,$A:$E,MATCH(H$1,$A$1:$E$1,0),FALSE) 等です。
・・・もしかして、話がかみ合ってないですかね?
(HANA)
(HANA)さん、無事に表を作成することができましたのでほんとうにありがとうございました。 様々なアドバイスをいただいたことも感謝しています。 これから私も更なる勉強が必要ですが、またそのときに解決できない問題がでてきましたらアドバイス をいただけると恐縮です。 私も(HANA)さんのようにいつか困っている人にアドバイスできるようにこれから頑張っていきたいと思 います。
本当にありがとうございました。
(そら)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.