エクセルのマクロで指定した条件を満足する組み合わせを表示する方法
- エクセルのマクロを使用して、指定した条件を満足する組み合わせを表示する方法について教えてください。
- エクセルのマクロを活用して、任意の条件を満たす組み合わせを見つける方法について教えてください。
- エクセルのマクロを使って、指定した条件を満たす組み合わせを表示する方法を教えてください。
- ベストアンサー
エクセルのマクロで、指定した条件を満足する組み合わせを表示する方法?
エクセルで、例えば イ ロ ハ A-a 3 6 0 A-b 0 5 1 A-c 2 0 5 イ ロ ハ B-a 3 0 0 B-b 5 3 1 B-c 0 2 0 イ ロ ハ C-a 0 5 0 C-b 0 4 5 C-c 0 0 2 のように幾つかのグループ(A、B、C)があって、 それぞれのグループに幾つかのサンプル(a、b、c)があって、 それぞれのサンプルに幾つかの属性(イ、ロ、ハ)があるとして、 (イ 5以上 ロ 10以上 ハ 5以上) のように属性を任意に指定すると、それぞれのグループから一つずつサンプルを選択して、 指定した条件を満足する組み合わせを表示する方法ってありますか? イ 5以上 ロ 10以上 ハ 5以上の指定だと、 イ ロ ハ A-a 3 6 0 B-a 3 0 0 C-b 0 4 5 6 10 5 イ ロ ハ A-a 3 6 0 B-b 5 3 1 C-b 0 4 5 8 13 6 イ ロ ハ A-b 0 5 1 B-b 5 3 1 C-b 0 4 5 5 12 7 のように表示してくれると良いのですが。 教えてください、よろしくお願いします。
- billy1833
- お礼率66% (2/3)
- オフィス系ソフト
- 回答数3
- ありがとう数2
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A B C D 1 イ ロ ハ 2 A-a 3 6 0 3 A-b 0 5 1 4 A-c 2 0 5 5 6 イ ロ ハ 7 B-a 3 0 0 8 B-b 5 3 1 9 B-c 0 2 0 10 11 イ ロ ハ 12 C-a 0 5 0 13 C-b 0 4 5 14 C-c 0 0 2 と言うデータだったとします。 結果はH~K列に書き出します。 Sub test() Dim i As Integer Dim j As Integer Dim k As Integer Dim m As Integer Dim a, b, c, x ReDim x(1 To 4, 1 To 4): m = 4 a = Range("A2:D4").Value b = Range("A7:D9").Value c = Range("A12:D14").Value For i = 1 To UBound(a, 1) For j = 1 To UBound(b, 1) For k = 1 To UBound(c, 1) If (a(i, 2) + b(j, 2) + c(k, 2)) >= 5 And _ (a(i, 3) + b(j, 3) + c(k, 3)) >= 10 And _ (a(i, 4) + b(j, 4) + c(k, 4)) >= 5 Then x(1, m - 3) = a(i, 1): x(2, m - 3) = a(i, 2): x(3, m - 3) = a(i, 3): x(4, m - 3) = a(i, 4) x(1, m - 2) = b(j, 1): x(2, m - 2) = b(j, 2): x(3, m - 2) = b(j, 3): x(4, m - 2) = b(j, 4) x(1, m - 1) = c(k, 1): x(2, m - 1) = c(k, 2): x(3, m - 1) = c(k, 3): x(4, m - 1) = c(k, 4) x(2, m) = a(i, 2) + b(j, 2) + c(k, 2) x(3, m) = a(i, 3) + b(j, 3) + c(k, 3) x(4, m) = a(i, 4) + b(j, 4) + c(k, 4) m = m + 5 ReDim Preserve x(1 To 4, 1 To m) End If Next Next Next Range("I1:k1").Value = Array("イ", "ロ", "ハ") Range("H2").Resize(m - 5, 4).Value = Application.Transpose(x) End Sub ご参考まで。
その他の回答 (2)
- n-jun
- ベストアンサー率33% (959/2873)
ANo.1です。 グループと書かれてますが、それがシート上にどのようになっているのかが不明です。 (同じシートにあるのか、別のシートにあるのか、どこのセルにどのようにあるのか)
- n-jun
- ベストアンサー率33% (959/2873)
グループA・B・Cにおいて、条件を満たすまでループさせるしかないのでは?
お礼
ご回答ありがとう御座います。 グループが無くて(サンプルのみ)で属性が一つだけだと出来るのですが、 ・各グループから一つだけ ・複数の条件を満たす結果を返す と、云う様な方法が解らなくて・・・。 ありがとう御座いました。
関連するQ&A
- エクセルの関数でand条件とor条件の組み合わせ
エクセルで関数を使ってデータをまとめています。 セルA1が「A」で、セルB1が「イ」またはセルC1が「ロ」またはセルD1「ハ」のとき、「真」にするというようば場合どうしたらよいでしょう。 セルA1が「A」とうのは絶対で、それが「A」でない場合はみな「偽」にしたいです。 わかりずらい質問で済みませんが、よろしくお願いします。
- 締切済み
- オフィス系ソフト
- エクセルで複数列のデータに対して検索後、対象行を表示できますか?
よろしくお願いします。 エクセル2002を使っています。 例として 1 E F G 2 データA イ ロ ハ 3 データB ロ ハ 4 データC ニ 5 データD ニ ロ E,F,G列に行方向にイ~ニのデータがランダムに入っています。 オートフィルを使う様に3列中にイを含む行、又はイ又はロを含む行、イ、ロ、ハを含む行を表示させたいのですが、何か方法があるでしょうか? どなたかご存知の方ご教授お願いします。
- ベストアンサー
- オフィス系ソフト
- 別のネットワーク上のプリンタを使用できますか?
文章でわかりづらいかもしれませんが、よろしくお願いします。 パソコン、「イ」「ロ」「ハ」の3台が、「ALPHA」と言うワークグループで、「イ」のファイルやプリンタ等を共有しています。 また、インターネット回線も共有しており、外部とのメールの送受信が出来ます。 ------------------------ 別の、「A」「B」「C」の3台が、同じ「ALPHA」と言うワークグループ名で、「A」のファイルやプリンタ等を共有しています。 ------------------------ 現在「イ」「ロ」「ハ」のグループと、「A」「B」「C」のグループは独立しており、何ら接点(接続)はありません。 ------------------------ この状態から、 LANケーブルを、「イ」「ロ」「ハ」のHUBと、「A」「B」「C」のHUBと接続して、 「A」で作成したデータを「イ」のプリンタから出力させることは可能でしょうか? 可能でしたら、その設定方法を知りたいのです。 OSは、XPです。 但し、現在割り振られている「イ」「ロ」「ハ」「A」「B」「C」のインターネットプロトコル(IPアドレス等)は変更できません。
- ベストアンサー
- Windows XP
- Excelで複数の結果を一つのセルに表示させる方法
データ A B C D E F G ・・・ イ * * * ロ * ハ * * から、行ごとに集計して、「*」のあるアルファベットを一つのセルに表示させるということをしたいのですが、良い方法が見つかりません。 例えば、イの行であれば[A B D]、ハの行であれば「B E」という感じです。 「LOOKUP関数」だと、最初にHITしたものしか返ってきません。 一つではなく、複数欲しいのです。 Excelに不慣れな者ですが、複雑な式であっても何とか頑張りたいと思います。 どなたかご教示お願いします。
- ベストアンサー
- その他MS Office製品
- エクセル関数
イ.グループ C2:C4の範囲で (1)又は(2) が存在 ロ.グループ C2:C4の範囲で (4)又は(5) が存在 ハ.グループ C2:C4の範囲で (7)又は(8)又は(9) が存在 イ、ロ、ハの各グループ(1)(2)、(4)(5)、(7)(8)(9)が同時に存在した場合 のみ●印で表す様にしたのですが、良い関数がありましたら 教えてください。 例えば イ.グループ C2:C4の範囲で (2) が存在した ロ.グループ C2:C4の範囲で (5) が存在した ハ.グループ C2:C4の範囲で (9) が存在した この場合は●で表示。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- PDFを再調整したい
2つのPDFがあります。 甲が 1.A 2.ロ 3.C 乙が 1.イ 2.B 3.ハ それを 甲が 1.A 2.B 3.C 乙が 1.イ 2.ロ 3.ハ にしたいのです。そのためにはどのようなソフトが必要でしょか。できればUSBから起動できるものがいいです。
- 締切済み
- 画像・動画・音楽編集
- ×または空白のセルを繰り上げて表示する(エクセル)
果実シート まとめシート A B C A 1 いちご 林檎 ミカン 2 ○ × ○ 3 4 イ 5 ロ 6 ハ 2行目には○か×か空白が入ります。空白は×と同じです。(以下×という定義は「×または空白」という意味とします。) ・4行目イの欄=A2が○であれば「いちご」を。A2が×でありB2が○であれば「林檎」を。A2、B2が×でありC2が○であれば「ミカン」を ・5行目ロの欄=A2が○でB2が○であれば「林檎」を。A2が○でB2が×、C2が○であればミカンを。A2が×、B2が○、C2が○の場合はミカンを。 ・6行目ハの欄=すべて○の場合だけミカンを。 つまり、×または空白表示の場合は、順次繰り上げて表示する方法についてご教示ください。 4行目は=if(a2="○",a1,if(b2="○",b1,if(c2="○",c1)))ということでOKだと思いますが、5行目6行目がどうしてもわかりません。 マクロをメンテナンスできる人間がいないため、ifやandなどの関数だけでお願いします。 また、このイロハの部分を別の「まとめシートに」リンクさせ、これをVLOOKUP($G$2,まとめシート!A1:R50,1,FALSE)という形(G2は任意の数字を入れる場所)でさらに別のシートへリンクすることは可能でしょうか。 エクセルバージョンは2002です。
- 締切済み
- オフィス系ソフト
お礼
おお!ありがとう御座います。 グループは別シートでした・・・、でも、後は自分でやってみます 本当にありがとうです。感謝感謝