以前、質問した内容で追加で知りたい事があります。
質問内容を一番下に載せるのでどうか助けて下さいm(__)m
※以前の質問内容からの流れを載せています。
-----------------------------
≪目的≫
データベースに入力したデータをチェックするだけで、自動的に別シートに反映、表としてまとまるようにしたい。
--------------
〈データベース〉
OPEN 名前 レベル 条件① A B C
□ あ 良 1 ○
□ い 普通 2 ○
□ う 普通 3 ○
□ え 悪 1 ○
□ お 良 2 ○
□ か 悪 3 ○
□ き 普通 1 ○
□ く 悪 2 ○
□ け 良 3 ○
--------------
〈別シート〉
条件①-1 条件①-2 条件①-3
あ お け
き い う
え く か
A B C
あ い う
お え き
け か
く
--------------
≪やりたい事≫
知識がないので可能かどうかもわかりません。。また、分かり難かったらすみませんm(__)m
◆【条件①】の1、2、3毎に【名前】をまとめたい。
◆【OPEN】のチェックボックスにチェックが入った【名前】のみ別シートに反映するようにしたい。※チェックボックスの作成方法はわかりますが、それを抽出・反映させる方法がわかりません。
◆【レベル】の順番で並び変わるようにしたい。良⇒普通⇒悪。良、の中での順番は不問です。
◆別シートで、例【条件①-1】の数が3から4に増えた時、自動的に行が追加されるようにしたい。
◆【ABC】毎に、チェックをつけた名前を抽出し別シートに表示させたい。項目はDEFと増える可能性があります。
-----------------------------
≪質問に対しての回答≫
配列数式①
=IFERROR(INDEX(データベース!$B$1:$B$1000,MATCH(SMALL(IF((データベース!$A$1:$A$1000="✓")*(データベース!$D$1:$D$1000=COLUMN(A1)),データベース!$I$1:$I$1000),ROW(A1)),データベース!$I$1:$I$1000,0)),"")
配列数式なのでCtrl+Shift+Enterで確定 → 列・行方向にフィル&コピー!
配列数式②
=IFERROR(INDEX(データベース!$B$1:$B$1000,MATCH(SMALL(IF((データベース!$A$1:$A$1000="✓")*(データベース!E$1:E$1000="○"),データベース!$I$1:$I$1000),ROW(A1)),データベース!$I$1:$I$1000,0)),"")
同じく配列数式の操作 → 列・行方向にフィル&コピー!
これでA列にチェックが入っているデータのみが表示されます。
※ 数式内の「✓」はA列に入る「✓」にしてください。
数式③
=IF(C2="","",IF(C2="良",ROW()/10000,IF(C2="普通",ROW()/100,ROW())))
-----------------------------
☆追加で聞きたい事☆
・条件①が1,2,3ではなく、田中,佐藤,鈴木など別の名称となった場合の式はどうなりますか?
・条件①の項目が増えた場合はどうなりますか?
・A,B,Cの項目がD,E,Fと増えた場合はどのような式になりますか?
・レベルが上から順にA⇒B⇒C⇒Dとなった場合はどのような式になりますか?
以上、何卒宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
No.1です。
前回の画像の配置だと、C列がレベルが A~D まである!というコトですね。
作業列L2の数式を
=IF(C2="","",ROW()/INDEX({1000000000,1000000,1000,1},MATCH(C2,{"A","B","C","D"},0)))
に変更してください。
(本来であれば 10^9,10^6,10^3,1 という並びにしたかったのですが、Excel的には文字列として扱われるみたいなので、必要数分だけ「0」を並べてみました。)
M列の数式はそのままで大丈夫です。
Sheet2のA2セルの数式もそのままでOKです。
そしてH2セルも数式も基本的にはそのままで良いのですが、前回の数式内で「0」が一つ少ない部分があったので
もう一度数式を載せておきます。
=IFERROR(INDEX(データベース!$B$1:$B$1000,MATCH(SMALL(IF((データベース!$A$1:$A$1000="✓")*(データベース!E$1:E$1000="○"),データベース!$L$1:$L$1000),ROW(A1)),データベース!$L$1:$L$1000,0)),"")
※ Sheet2の数式はどちらも配列数式なので、
Ctrl+Shift+Enterで確定してください。m(_ _)m
No.1
- 回答日時:
こんばんは!
https://oshiete.goo.ne.jp/qa/10003953.html
↑のサイトの関連質問ですね。
>・レベルが上から順にA⇒B⇒C⇒Dとなった場合はどのような式になりますか?
がいまいち判らないのでそれ以外の回答になります。
今回は↓の画像のように作業列をもう1列増やします。
これはD列項目を重複なしに表示させるための作業列になります。
作業列L2は前回の数式そのままで
=IF(C2="","",IF(C2="良",ROW()/10000,IF(C2="普通",ROW()/100,ROW())))
としておきます。
作業列2のM2セルは
=IF(COUNTIF(D$2:D2,D2)=1,ROW(),"")
という数式を入れ、両作業列ともこれ以上データはない!というくらいまで下へコピー!
Sheet2のA1セルに
=IFERROR(INDEX(データベース!$D:$D,SMALL(データベース!$M:$M,COLUMN(A1))),"")
という数式を入れ右へフィル&コピー!
A2セルに
=IFERROR(INDEX(データベース!$B$1:$B$1000,MATCH(SMALL(IF((データベース!$A$1:$A$1000="✓")*(データベース!$D$1:$D$1000=A$1),データベース!$L$1:$L$1000),ROW(A1)),データベース!$L$1:$L$1000,0)),"")
配列数式なのでCtrl+Shift+Enterで確定! → フィルハンドルで列・行方向にコピー!
H2セルに
=IFERROR(INDEX(データベース!$B$1:$B$1000,MATCH(SMALL(IF((データベース!$A$1:$A$1000="✓")*(データベース!E$1:E$1000="○"),データベース!$L$1:$L$100),ROW(A1)),データベース!$L$1:$L$1000,0)),"")
これも配列数式 → 列・行方向にフィル&コピー!
これで画像のような感じになります。m(_ _)m
tom04さん
本当にいつもありがとうございますm(__)m
非常に助かっています!
今回の話に挙がらなかった、
レベルが上から順にA⇒B⇒C⇒Dとなった場合はどのような式になりますか?
⇒これは、レベルが良・普通・悪ではなく、4段階【A・B・C・D ※一番上のレベルがA、それ以降はB⇒C⇒Dの順】となった場合、どのような式になるかお聞きしたいです。これでわかりますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- その他(Microsoft Office) Excel 2列の値を返す数式についてです 1 2022/11/23 22:59
- Visual Basic(VBA) VBA エクセル 条件の設定 1 2022/03/28 10:24
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
はがきについて。
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
【関数】先頭だけにある、半角...
-
Excel ピボットテーブルで日付...
-
Excelのpivotについて質問です
-
時間によってファイル名が変わ...
-
エクセル 白黒印刷で白線を印刷...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
WPS OFFICEでの縦書きについて
-
Excelのチェックボックスの使い...
-
エクセルの条件付き書式につい...
-
エクセルのセルに同じ大きさの...
-
エクセルの関数について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報