![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_15.png?e8efa67)
エクセルの初心者です。
現在、MS Office2007のexcelで仕入帳の作成をしています。
各シートごとに仕入先の商品のやりとりを出しています。仕入先のシートは全部で7つあります。
さらに、別シートにて仕入商品の平均単価を出したものを作成しております。
その平均単価を出しているシートについてなのですが。
画像のように、各シート(仕入先)で購入した商品の月毎の単価を出そうと試みているのですが、
単価平均のシートのセルB4に
=SUMIF(A!$C5:$C1000,"1",A!$F5:$F1000)/SUMIF(A!$C5:$C1000,"1",A!$D5:$D1000)
というような数式をいれてます。
これを、同じシートのセルC5に入力する場合は数式のA!をB!にひとつずつ手入力で変更しなければならないのでしょうか?
また、B5に入力するセルも"1"を"2"にひとつずつ手入力で変更するのでしょうか?
まとめて変更する方法、もしくは数式自体変更したほうがいいのか
大変お手数ではありますが、ご教示よろしくお願いします。
![「エクセルで仕入帳を作成」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/1/912229_5497bec27107f/M.jpg)
No.3ベストアンサー
- 回答日時:
こんばんは!
一例です。
B4セルに
=SUMIF(INDIRECT(B$3&"!$C$5:$C$1000"),$A4,INDIRECT(B$3&"!$F$5:$F$1000"))/SUMIF(INDIRECT(B$3&"!$C$5:$C$1000"),$A4,INDIRECT(B$3&"!$D$5:$D$1000"))
という数式を入れ、列方向と行方向にオートフィルでコピーではどうでしょうか?
余計なお世話かもしれませんが、エラー処理していませんので、各SheetにA列の「商品」がない場合は「0」で割ってしまうことになります。
その場合は #DIV/0! のようなエラーが表示されると思います。それを回避したい場合は
IF関数を使って、かなり長くなりますが、
=IF(ISERROR(数式),"",数式) といった具合の数式にすればエラーの場合は空白になると思います。
長々と失礼しました。m(__)m
返事が遅くなりました、申し訳ございません。
思わず、手をたたいてしまいました(笑)
これですと、このまま数式をコピーするだけで反映されますね。
いやらしい話、すごい簡単でした。
INDIRECTの数式も勉強になりました。
ただ、数式がおっしゃった通り、長くなりましたね・・・。
ISERRORの数式を使わせていただきました。
大変ありがとうございました。
No.2
- 回答日時:
月間平均のシートの,
3行目に,各シートの正確な名前を記入しておきます
もしくは各シートの正確なシート名を,3行目の各記載内容と合わせておきます
また式中で検索する品名は,A列の記載内容を利用します
元の数式:
=SUMIF(A!$C5:$C1000,"1",A!$F5:$F1000)/SUMIF(A!$C5:$C1000,"1",A!$D5:$D1000)
品名を利用:
B4:
=SUMIF(A!$C5:$C1000,$A4,A!$F5:$F1000)/SUMIF(A!$C5:$C1000,$A4,A!$D5:$D1000)
シート名(仕入れ先名)を利用:
B4:
=SUMIF(INDIRECT(B$3&"!$C:$C"),$A4,INDIRECT(B$3&"!$F:$F")) / SUMIF(INDIRECT(B$3&"!$C:$C"),$A4,INDIRECT(B$3&"!$D:$D"))
右にコピー,下にコピーしたときに,式中の$記号の有り無しによって参照セルが自動で追従する様子を実際に手を動かして確認し,$記号の使い方をマスターしてください。
返事が遅くなりました、申し訳ございません。
思わず、なるほどと思ってしまう数式でした。
$記号はマスターとまではいきませんが、大変勉強になりました。
ご回答、大変ありがとうございます。
No.1
- 回答日時:
>数式のA!をB!にひとつずつ手入力で変更
⇒シート名が文字列は難しいのでA1、A2と数字と組み合わせれば以下の様な感じで如何でしょうか。
=SUMIF(INDIRECT("A"&COLUMN(A1)&"!C5:C1000"),COLUMN(A1),INDIRECT("A"&COLUMN(A1)&"!F5:F1000"))/SUMIF(INDIRECT("A"&COLUMN(A1)&"!C5:C1000"),COLUMN(A1),INDIRECT("A"&COLUMN(A1)&"!D5:D1000"))
返事が遅くなりました、申し訳ございません。
エクセルは全くの初心者なので、数式が大変勉強になりました。
シート名は実際は仕入先を記載します。
私のやり方も下手なのですが、ちょっと適用しにくかったですね・・・。
ご回答、大変ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 関数 vlookupなどの使い方について質問です。 シート1に品番、商品名、単価、発注条 6 2022/06/15 19:16
- Excel(エクセル) 単価シートから単価をエクセル関数で自動取得する方法 1 2023/07/02 22:00
- Excel(エクセル) 再質問です。エクセルでシートが1から31まであり、日付けが入力されているセルがあります。シート1から 4 2022/08/02 23:08
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) Excelで特定の文字列を判定し計算する数式を教えて下さい。 1 2022/05/01 12:04
- Excel(エクセル) IFERROR、SMALL関数について 2 2022/08/22 23:40
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Excel(エクセル) エクセルの表示形式について教えてください あるセルの「A」という値と、別のセルの「B」という値を組み 4 2023/02/21 21:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで金銭出納帳。繰越残高を...
-
エクセルの複数シートの保護を...
-
エクセルのシート名をリスト化...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
エクセルで前シートを参照して...
-
エクセルで複数シートを別のシ...
-
VBA セルの値と同じ名前のシー...
-
別シート参照のセルをシート毎...
-
エクセル マクロ実行時エラー’...
-
EXCELで1ヶ月分の連続した日付...
-
シート1に列挙したNGワードを...
-
エクセル 計算式も入っていない...
-
複数のシートの同じセルに入力...
-
至急お願いします。エクセルシ...
-
エクセルVBA 串刺し計算の際、...
-
エクセルでシートの数を数える...
-
複数のシートの同じセル範囲を...
-
日報をエクセルで作成したいの...
-
Excelでの検索方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
Excelで同じシートのコピーを一...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
EXCEL:同じセルへどんどん足し...
-
エクセルでファイルを開いたと...
-
エクセルVBAでパスの¥マークに...
-
Excelで金銭出納帳。繰越残高を...
-
前の(左隣の)シートを連続参...
-
EXCELで1ヶ月分の連続した日付...
-
Excel VBについての質問です。
-
複数シートの特定の位置に連番...
-
エクセルで前のシートを連続参...
-
特定のシートの削除を禁止した...
-
エクセルで前シートを参照して...
-
Accessのスプレッドシートエク...
-
Excel、同じフォルダ内のExcel...
-
excelでシート毎の最終更新日を...
-
Excelのシートを、まとめて表示...
-
EXCELで同一フォーマットのシー...
おすすめ情報