Sheet1のレシピデータ、Sheet2の献立をもとに、Sheet3に買い物リストを作りたいのですが、
どうすればいいでしょうか?
重複する材料を足して表示したいのですが…方法がわかりません。
(例えば、もし、1日目がシチューで3日目がカレーだったら、具材はほぼ一緒になると思います。それを足したものを、買い物リストに表示させたいのです。説明が下手ですみません)
以下、シートの情報。
/は、セルの区切りです。
Sheet1『レシピデータ』
管理番号/料理名/材料名-1/一人当たりの量-1/材料名-2/一人当たりの量-2/~(略)~/一人当たりの量25
・
・
・
Sheet2『献立』
『1日目』/管理番号/料理名
『2日目』/管理番号/料理名
『3日目』/管理番号/料理名
Sheet3『買い物リスト』
N人分
材料名1 個数
材料名2 個数
材料名3 個数
・
・
・
No.1ベストアンサー
- 回答日時:
こんにちは
>どうすればいいでしょうか?
自動的に集計できるようにしたいということかと想像しました。
方法はいろいろ考えられると思います。
◇1 マクロによる方法
もしも、質問者様がマクロを利用できるのであれば、なさりたいことをマクロ化して処理するのが簡便可と思います。
◇2 関数による方法
一部の手順を分割する(=作業列を設けるなど)といったことをすれば、関数でも算出が可能と思います。
分割を少なくしようとすればするほど、関数式は複雑になりますので、簡明にしておくためには、適当に分割しておいた方が良いです。
◇3 関数と手作業の複合
全自動化にはなりませんが、わかる範囲を関数で処理して、一部(わからない範囲)だけ手動で処理するといった、上記2の方法との複合型です。
以下に、2の場合の一例について、考え方の概要を示してみます。
※ 管理番号がIDとして利用できるものと仮定します。(=個別の番号が振られている)
1)Sheet2に管理番号を入力すると、該当するレシピ(材料を含む)がその行に表示されるようにしておく。
(Sheet1を参照するLOOKUP系の関数で簡単に実現できるはずです)
2)Sheet2を参照して、表示されている材料を全てリストアップ(重複を許す)
(参照する表が2次元なので、直接重複を省くのは面倒なので、重複を許して(作業列に)1列で出現する材料をリストアップする手順を取るのが簡単だと思います)
とはいえ、ここが関数で行うにはここが一番面倒と思います。(後述)
3)2)のリストから重複を省いた材料名をSheet3のA列にリストアップする。
4)3のリストを利用して、Sheet2の表から集計する。
(対象が2次元の表ではありますが、SUMIF関数を領すれば簡単に集計可能です)
上記で面倒なのは2)、3)だと思います。
3)に関しては、検索すれば、いろいろと方法が見つかると思います。
大抵は、一列を元のデータとして重複を除く方法だと思いますので、2次元の表を1列に変換する、2)についてもう少し触れておきます。
内容がご質問文の程度(日数が3行程度)であれば、複雑なことをせずに、作業列に1列おきに3行ずつ参照する関数式を設定しておけば、(空白も含めて)全部をリストアップできます。
例えば、Sheet2のD1セルから材料名が始まるとするなら、作業列に
=OFFSET($D$1,MOD((ROW(A1)+n-1),n),INT((ROW(A1)-1)/n)*2)
として、下方にオートフィルすると、ひとまず1列に網羅されます。
(式中、nは対象とする行数。対象の表が3行なら3となる)
あるいは、行数が可変などで空白を詰めて表示するような場合は、対象とするsheet2の範囲の名前を「材料表」とするなら
=IFERROR(INDEX(材料表,INT(SMALL(IF(NOT(ISNUMBER(材料表)+ISBLANK(材料表)),ROW(材料表)*1000+COLUMN(材料表)-3,FALSE),ROW(A1))/1000),MOD(SMALL(IF(NOT(ISNUMBER(材料表)+ISBLANK(材料表)),ROW(材料表)*1000+COLUMN(材料表)-3,FALSE),ROW(A1)),1000)),"")
のような式を入力して(配列数式)、フィルコピーすることで1列に抽出が可能です。
(上式は少々複雑になっていますが、作業列等を用いてさらに手順を分解すれば、簡単にすることが可能です)
一旦、1列にリスト化した材料名(重複を含む)、から重複を省いたリストを3)で作成し、それをインデックスとして材料表の数値を加算すれば良いことになります。
4)の部分を式化してみるなら、A列に個別の材料名があるものとして
=SUMIF(材料表,D10,OFFSET(材料表,,1))
で材料の合計値(=一人分の合計値)が求められますので、これに人数分を乗じたものにすれば良いものと思われます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- レシピ・食事 今一人暮らしなので節約のため1週間分の食材を買い 1週間で食べ切れる料理を作って毎日同じものを食べて 6 2023/03/27 09:49
- Visual Basic(VBA) 条件に一致した場合の処理 2 2022/10/18 06:30
- Excel(エクセル) 【ExcelVBA】一覧表の記載に従ってPDFを振り分ける処理がしたい 5 2023/05/23 12:40
- ダイエット・食事制限 調味料のカロリー 1 2022/05/25 09:02
- レシピ・食事 最近の料理の本は、 分量が 2人前ばかりが 多いんですが、 三人家族のときに、 材料と 調味料や、出 9 2022/12/30 13:25
- レシピ・食事 料理をする方に質問です。 某サイトのレシピで作る料理が美味しそうだったので材料を買ってきたのでこれか 4 2023/03/27 21:12
- レシピ・食事 一見高級そうに見える鶏胸肉を使ったアナタのイチオシ料理は? 3 2023/07/30 16:30
- スーパー・コンビニ 家事、1週間のうち、食品スーパーで何回買い物をしますか? 3 2023/05/01 17:36
- レシピ・食事 手作りの料理で色んな材料の割合、レシピなど作って比較するおすすめの料理教えてほしいです!コンビニの食 1 2022/07/11 13:02
- 飲み物・水・お茶 ソルティ○○○○の作り方。 2 2022/08/21 08:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの問題です。絶対値の...
-
西暦和暦
-
エクセルで上位バイトのセルと...
-
非表示列の再表示に失敗
-
エクセルの関数の勉強の仕方
-
エクセルはエクセレントに難しい
-
xlsxファイルを保存する際にPDF...
-
エクセルの入力データと図形の...
-
Excelに詳しい方お願いいたしま...
-
ピボットテーブルという機能に...
-
半角カタカナをヘボン式ローマ...
-
Excel PowerQueryで日付の列が...
-
pdfの表をexcelにはりつけて計...
-
エクセル おすすめフォント
-
UNIQUE関数が使えないバージョ...
-
棒グラフの縦軸目盛線の間隔変更
-
(マクロ)vlookupの元データを同...
-
エクセルで特定のセルに入力が...
-
CSVファイルについて質問です。
-
Excelの数式について教えてくだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報