こんにちは。
http://oshiete.goo.ne.jp/qa/4122783.html
にあった質問より、もう少し複雑な組み合わせを出力したいと思っています。
例えば
【肉類】として
牛肉 豚肉 鶏肉 魚肉 の中から2つ選び
【根菜】として
大根 にんじん たまねぎ サツマイモ の中から2つ選び
【葉野菜】として
キャベツ 白菜 キャベツ レタス ほうれん草 の中から2つ選ぶ、
といった場合の全ての組み合わせを
【肉類】【根菜】【葉野菜】の列、または
【肉類1】【肉類2】【根菜1】【根菜2】【葉野菜1】【葉野菜2】の列に出力する事は出来るものでしょうか?
組み合わせ例としては、
牛肉、魚肉、大根、たまねぎ、レタス、ほうれん草
のような感じです。
実際に使用したい選択肢の総数が100個ほどあり、手入力には多すぎるので
なんとかExcelで出来たらと思ってるのですが……。
ご存知の方がいらっしゃいましたらご教授下さい!
No.3ベストアンサー
- 回答日時:
組み合わせ(順番は関係ない)という前提で
A1セルに総数 =PRODUCT(B1:D1)
B1セルに「肉」の組み合わせ数 =COMBIN(4,2)
C1セルに「根菜」の組み合わせ数 =COMBIN(4,2)
D1セルに「葉」の組み合わせ数 =COMBIN(5,2)
A2セルに連番として 1
B2セルに=IF($A2>$A$1,"",MOD(INT(($A2-1)/C$1/D$1),B$1)+1)
C2セルに=IF($A2>$A$1,"",MOD(INT(($A2-1)/$D$1),C$1)+1)
D2セルに=IF($A2>$A$1,"",MOD($A2-1,D$1)+1)
(D2セルから考えた)
A2:D2下へオートフィル連番360まで
各組合せ
I1セルに肉の品数の4
K5セルに根菜の品数の4
M5セルに葉の品数の5
I2に1、J2に2 右へコピー
I3セルに =(COUNTIF(I$2:I2,I2)>=I$1-I2)+I2
J3セルに =IF(I3<>I2,I3+1,J2+1)
I3:J3セルを右へ下へオートフィル
(添付図の罫線で囲まれた部分しか使わない)
E2セルに肉
=INDEX(P:P,INDEX(I:I,B2+1)+1)&" "&INDEX(P:P,INDEX(J:J,B2+1)+1)
F2セルに根菜
=INDEX(Q:Q,INDEX(K:K,C2+1)+1)&" "&INDEX(Q:Q,INDEX(L:L,C2+1)+1)
G2セルに葉
=INDEX(R:R,INDEX(M:M,D2+1)+1)&" "&INDEX(R:R,INDEX(N:N,D2+1)+1)
E2:G2セル フィルハンドルダブルクリック
考え方を理解するようにしてください
画像付きのとても丁寧なご回答、ありがとうございます!
COMBIN関数で、それぞれ値を出した後の手順がよく分からなかったので、とても参考になりました。
ご回答サンプルを参考に、実際出したかったデータを出すことが出来ました!本当にありがとうございます!
No.2
- 回答日時:
ご覧になった過去ログに2通りの方法が書かれていましたが,どちらでも構わないのでほとんどそのまま利用して,肉4種の中から肉肉の組合せ計12通りを計算することは簡単にできますね。
同じ事を今度は根菜4種の中から,根菜1根菜2の組合せ12通りを計算することも簡単にできます。
この2つをまた同じ方法で掛け合わせれば,肉肉12通り×根菜根菜12通りの組合せが出てきます。
同様にして野菜5種の中からも20通りの組合せを計算して並べ,最後に肉肉根根144×葉葉20=2880通りもまた同じ事の繰り返しで並べることができます。
ご回答有難うございました!
可能との事で安心しました。コピーペーストのくり返しで出来そうだと思うのですが、今回出したい組み合わせ総数が3万程度になるものですから、途中にヒューマンエラーを起こした場合、うっかり見過ごすかも知れないので、そこだけ気をつけたらよさそうですね。
どうも有難うございました!
No.1
- 回答日時:
知っていると思うが、組み合わせというのは、区分の場合の数が増えると急激に増える。
質問者はエクセル関数の初歩的な数十個しか出来ないと思うのだが、それでは出来ない。
プログラムを学んで、プログラムで3重,4重(ネストという)の繰り返しの処理で組み合わせれば、理論上は可能。
しかし場合の数が増えると、処理する時間・シートに書き出すコンピュータの時間も相当なものになり、待機我慢限度を超えた時間がかかるという感じをもつ場合もある。
ーー
そもそも理論的に1000件を超えるような組み合わせをシート上に出しても、使いこなせるのか?
もっと色々な数学的なことやコンピュター処理を勉強してから、考えて質問すべきと思う。
早々のご忠告ありがとうございました。
ご拝察のとおり、関数の一部しかまだ分からない初心者です。
私の判る範囲で出来る方法をご案内くださった3さまのお力添えで3万ほどの一覧を出すことが出来ました。
ご心配いただきありがとうございます。
OKWaveさんは、VBAプログラマー程度の知識がある方でないと質問すべきではない場所、とのご指摘ありがとうございます。
今後は、過去ログの知識レベルを参考にしてから質問させていただきますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 食べ物・食材 野菜の値段はいくらか 8 2023/03/16 21:55
- 飲食店・レストラン 近所の中華屋さんなんですが、 6 2023/08/21 13:34
- レシピ・食事 しゃぶしゃぶした肉をボウルに移し 野菜を投入して混ぜた場合 副菜にあたるのでしょうか…? 例えば、し 3 2023/06/06 21:57
- 食生活・栄養管理 回復期に望ましい食生活とは? 病気の回復期に望ましい食生活を教えてください。詳細は下記の通りです。 1 2022/07/10 12:44
- 食べ物・食材 長距離走をやっている男子高校生の昼の弁当 の量です。ほぼ毎日平日の昼は同じメニューです。 おにぎり1 2 2023/07/05 21:40
- 食生活・栄養管理 食生活チェックお願いします! 半年ほど寝たきり、ほとんど食べられないという大病を患い、いま回復期です 3 2022/07/18 15:06
- 食生活・栄養管理 野菜の代わりになる野菜 8 2022/11/10 20:53
- 赤ちゃん 生後9ヶ月、ミルクは必要? 朝昼晩+おやつ2回あげてます。 量的には、昨日の献立の場合↓のような感じ 2 2022/09/28 13:41
- 子育て 言葉遣いについて 1歳児に対して「肉」「魚」「野菜」「うどん」「箸」「塩」「醤油」「トイレ」などと言 3 2022/08/12 16:56
- 食べ物・食材 肉野菜炒めについて。 8 2022/04/06 14:50
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで「-0.0」と表示さ...
-
【マクロ】シート名を取得する...
-
エクセルの条件付き書式につい...
-
【マクロ】毎回、ファイル名が...
-
エクセルで 例えば 伊藤と名前...
-
excel で二つのどちらかを選ぶ
-
Aというブックの1というシート...
-
Excel 2019 のピボットテーブル...
-
マクロの有効化するダイヤログ...
-
Excel元に戻す方法を教えてくだ...
-
写真のコピー
-
VBA Private Sub Worksheet_Cha...
-
【マクロ】フォルダからエクセ...
-
Excelでの時間帯の入力
-
文字列になっている時間をVBAで...
-
エクセルの順位別一覧表の自動...
-
Excelはなんで先頭の0を消すん...
-
行数が不規則な一週間ごとの合...
-
ある列、或いは、ある行のセル...
-
エクセルで特定の範囲内から小...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報