質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

3回答

7757閲覧

Excel or Access 全組合せパターンをデータ化したい

skmasa1237

総合スコア6

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2021/08/07 05:19

編集2021/08/07 05:21

Excelかaceessを使って、作業工程毎の発生有無の組み合わせパターンを簡単にデータ化する方法ありませんでしょうか?

A~F(7種類)の工程があったとして、各工程毎の発生有無(〇✕)を考慮した組み合わせパターンを手動以外の方法(vbaや関数)でデータ化したいです。

上記工程数の場合、総パターン数は、2(〇 or ✕)の7乗(7工程)となり、
128パターンできると思います。

この全パターンを手打ちで書き出すのは大変なので、
何かいい方法があればご教示頂ければ幸いです。

色々と調べてみましたが、ばっちりハマるものがありませんでした。

![イイメージ説明(dafab8869e28111280213afb6bc4343b.jpeg)

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

Excelかaceessを使って、作業工程毎の発生有無の組み合わせパターンを簡単にデータ化する方法ありませんでしょうか?

EXCELでの方法は既に出てますので、Accessでの方法を参考までに。

下記のテーブルを作成します。

テーブル名 T1
フィールド名 F1
フィールドのデータ型 短いテキスト

F1フィールドには × と 〇 を入力する。

イメージ説明

クエリのSQLビューに下記のSQLを入力します。

sql

1SELECT A.F1 AS A, B.F1 AS B, C.F1 AS C, D.F1 AS D, E.F1 AS E, F.F1 AS F, G.F1 AS G 2FROM T1 AS A, T1 AS B, T1 AS C, T1 AS D, T1 AS E, T1 AS F, T1 AS G;

このクエリを開くと全パターンが出力されます。

イメージ説明

投稿2021/08/07 21:44

hatena19

総合スコア34075

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

skmasa1237

2021/08/08 01:27

hatena19さん accessでの回答ありがとうございます! ご丁寧な解説ありがとうございます。 こんなに手数少なくできるんですね!!
guest

0

ベストアンサー

EXCELでA列に1~128の連番を入力
1行目に1~7までの連番を入力
B2セルに=DEC2BIN(128+$A2)を入力
128を加算するのは、桁数を8桁で揃えるためです。

C2セルには=IF(MID($B2,C$1+1,1)="1","○","×")を入力
B2セルとC2セルを必要な範囲にコピー

excel
数式
数式

並び順については、うまくいくようにA列を調整するか
CからI列を必要に応じてソートさせるかすれば良いと思います。

投稿2021/08/07 06:32

takanaweb5

総合スコア359

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

skmasa1237

2021/08/07 08:22

takanaweb5さんありがとうございます!! 回答頂いた方法でイメージ通りできました!凄いですね!! 本当にありがとうございました。
takanaweb5

2021/08/07 22:06

後で気づきましたが、DEC2BIN()関数には128を加算しなくても DEC2BIN($A2,7)と第2引数を使うことで、桁を揃えることが出来ますね。
skmasa1237

2021/08/09 02:14

追記ありがとうございます。 DEC2BIN($A2,7)でやって見ましたが最終行で#NUM!エラーになりました。あと、残りの行はエラーにはなりませんが、組合せパターンにダブりが発生しました!!
takanaweb5

2021/08/09 02:39

MID関数もあわせて修正する必要があります。 変更前:MID($B2,C$1+1,1) 変更後:MID($B2,C$1,1) B列の値を、第2引数の桁数から、1文字(第3引数)取り出すという関数ですから また最終行がエラーになるのは128は2進数で8桁になり7桁を超えてしまうためです。 最終行だけ128を0とするか、または手動で設定するか。 あるいはB2セルをDEC2BIN($A2-1,7)としてからコピーするかです。
skmasa1237

2021/08/09 03:32

MID関数の修正でできました!! 察しが悪く申し訳ございません。。。 最終行は手動で設定します。 本当にありがとうございました。
guest

0

Power Query のクロス結合を使う方法もあります。
〇✕のテーブルを1つ作り、あと6つは複写すればよいので、そんなに手間はかかりません。
https://docs.microsoft.com/ja-jp/power-query/cross-join

投稿2021/08/08 02:42

ryusora

総合スコア26

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問