![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.11ベストアンサー
- 回答日時:
なんかまだ条件が追加されるような気がするので、
対応表を作ってそこから返す値を拾うのがよさそうな気がします。
添付した図ような感じになるのかな。
(空白の代わりに全角のアンダーバー ”_” を入れています)
B,C,D列に該当する値があるかを調べて、
あれば
B列に対しては「4」
C列に対しては「2」
D列に対しては「1」
を、
なければ「0」
を、
それぞれ返し、その合計した値を使って
INDEX関数でも、VLOOKUP関数でも良いので
それらの関数を使って対応表から値を拾う。
・・・
IF(B2="出荷済み",4,0) + IF(C2<>"",2,0) + IF(D2<>"",1,0)
こんな関数でB、C、Dのセルに対する値付けをする。
条件はここでしっかり整えてください。
この数値を使い
INDEX関数で
=INDEX( IF(B2="出荷済み",4,0) + IF(C2<>"",2,0) + IF(D2<>"",1,0) ,対応表!c3:C10)
VLOOKUP関数で
=VLOOKUP( IF(B2="出荷済み",4,0) + IF(C2<>"",2,0) + IF(D2<>"",1,0) ,対応表!B3:C10,2,0)
こんな処理をしても良いでしょう。
※ エラー対策はしていません。絶対参照にする必要のある個所もあります。
・・・
ということで、条件の洗い出しもこれでできると思いますので、今後同じように複数の条件がある場合に役立つと思います。
![「エクセル 複数条件について」の回答画像11](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/b/542206607_6503a5dac08d9/M.png)
No.10
- 回答日時:
No.7,8,9です。
No.7で回答した数式に"△"を追加するだけです。
=MID("○ × 保留△",7-(B5="出荷済み")*4-(COUNTIF($D$2:$D$4,C5)>0)*2,2)
に修正してA2セルに入れ、下方向へコピーしてください。
但し、ご質問者の説明では、
>B列C列は入力とします。
ということなので、B列は入力規則によるプルダウンで「出荷済み」を選択するものとし、「空白」または「出荷済み」のどちらかしかあり得ないものとします。
つまり、ご質問者のいう
>⑤上記以外の状況はは→A列判定「空白」
という状況は発生しないものとします。
なお、前回回答と同様、○、×の後ろに「半角スペース」がついた状態です。
それを嫌う場合は、
=TRIM(MID("○ × 保留△",7-(B5="出荷済み")*4-(COUNTIF($D$2:$D$4,C5)>0)*2,2))
としてください。
No.9
- 回答日時:
No.7,8です。
ご質問者は、2023/09/08 15:18の補足説明で、
<④項目「状態」が「出荷済み」ではなく、「データ1」が「データ2」にない・・・・・この場合は空白としたいです。>
と仰っており、
2023/09/11 17:17の補足説明では
<(データ2)にデータにはあるが、B列~C列にデータがない場合は・・・△という表示にしたいと思います。>
と仰っています。
仮に、2023/09/11の補足説明の条件を⑤とすると、
⑤項目「状態」が「空白」で、かつ、「データ1」が空白である
と表すことになります。
B列が「空白」ということは「状態」は【「出荷済み」ではない】ことになり、D列はご質問者の説明では、「一覧になっている」ということなので、一覧の中に「空白」があるとは想像しがたいので、C列が「空白」ということは、【「データ1」が「データ2」にない】ということになり、結果④と同じになってしまいます。
つまり、ご質問者の補足説明では「空白」にしたいのか「△」にしたいのか、回答者が判断できないことになります。
この辺をはっきりしないと回答困難だと思います。
No.8
- 回答日時:
No.7です。
前回回答に補足します。
前回投稿の数式は、あくまでも、ご質問者が掲出された画像に基づいたものです。
数式中の「$D$2:$D$4」の部分は、実際のデータ2の範囲に合わせて調整願います。
No.7
- 回答日時:
ご質問者が掲出された画像でいえば、A2セルに、
=MID("○ × 保留",7-(B2="出荷済み")*4-(COUNTIF($D$2:$D$4,C2)>0)*2,2)
という数式を入れて下方向へコピーすれば、表示はご希望のものになると思います。
但し、「○」と「×」は、厳密にいうと「後ろに半角スペース」がついた状態です。
見かけ上は問題ないのですが、これを避けたいのであれば、A2セルに、
=TRIM(MID("○ × 保留",7-(B2="出荷済み")*4-(COUNTIF($D$2:$D$4,C2)>0)*2,2))
という数式を入れて下方向へコピーすることになります。
No.3
- 回答日時:
??意味がもう一つわからない。
>「データ1」が「データ2」にある→〇
これって、「データ1」=「データ2」と言う意味ですか?
添付画像の○の行では、「データ1」=ABC で「データ2」=GIH(?)
となっていますよね。
No.2
- 回答日時:
こんにちは
すみませんが、回答ではありません。
>「データ1」が「データ2」にある/ない
の判断根拠が不明です。
ご提示の例では
「ABC」「GHI」→ ある
「DEF」「FFF」→ ない
「GHI」「ABC」→ ある
と判断されているようですが、どのようなロジックで判断しているのでしょうか?
また、
④項目「状態」が「出荷済み」ではなく、「データ1」が「データ2」にない
場合の表示内容も不明ですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の問題です。大至急回答お願いします 次の条件を満たすキュー・プログラムを作成せよ。 ①キューに 1 2021/12/05 01:35
- Visual Basic(VBA) Excel VBAでフォルダ内の全テキストファイルの任意データを取得について 7 2021/12/18 16:00
- その他(Microsoft Office) Excel VLOOKUP関数複数条件の求め方について 4 2021/10/25 10:28
- Access(アクセス) Access体力テストで前回、前々回分のデータをレポートで表示する方法について 3 2021/12/20 10:29
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- Excel(エクセル) Excelで、別シートの表のステータスに伴った動的な自動転記をしたいです。 2 2023/06/14 15:56
- その他(Microsoft Office) 横1行のデータを3つずつ3列に変換したい(マクロ初心者) 4 2021/12/17 15:03
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
VBA 空白セルを削除ではない方...
-
VBAを使ってOutlookメール本文...
-
この行は既に別のテーブルに属...
-
<VB>String→Object
-
大学のゼミのレポートがムカつ...
-
S9タイプからXタイプにデータ...
-
VBAでシートからコンボボックス...
-
【エクセル】測定時間がバラバ...
-
DataGridViewのデータの引渡し...
-
issetでボタンが押されたかを確...
-
ビットシフトについて
-
シリアル通信でのデータ受信
-
多量のSUMIF式を軽くしたい
-
マクロで同じフォルダにある画...
-
シーケンサにパソコンからアク...
-
DIBフォーマットの読み込みとそ...
-
Winsockで1460Byte以降のデータ...
-
Accessで該当データにフラグを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
この行は既に別のテーブルに属...
-
S9タイプからXタイプにデータ...
-
Excelのマクロでワードのテキス...
-
エクセルで2つの時系列のデー...
-
Accessで該当データにフラグを...
-
ユーザーフォームのテキストボ...
-
シーケンサにパソコンからアク...
-
EXCELVBAでSQLserverからデータ...
-
[C言語] コメント文字列を無視...
-
VBAを使ってOutlookメール本文...
-
プログラミング python pandas ...
-
VBA 毎日取得するデータを順番...
-
<VB>String→Object
-
カンマからスラッシュに
おすすめ情報
いつもお世話になっています。
わかりづらく申し訳ないです。
>「データ1」が「データ2」にある/ない
の判断根拠が不明です。
↑D列(データ2)は一覧になっていると考えて頂き、C列(データ1)に入力された場合、
D列から探すという意味合いです。
>④項目「状態」が「出荷済み」ではなく、「データ1」が「データ2」にない
場合の表示内容も不明ですね。
↑この場合は空白としたいです。
お手数をおかけいたします。
皆さま書き込みありがとうございます。
本当に申し訳ありません。
本質問にプラス ⑤番目の状況が発生することがわかりました。
追加で
D列(データ2)にデータにはあるが、B列~C列にデータがない場合は
A列に△という表示にしたいと思います。
紐解きながらやっていますが苦戦しております
当初のお答え頂いた方々、内容が変わり申し訳ありません。
質問状況が二点、三点し大変申し訳ありません。
再度、整理いたします。
D列「データ2」は一覧、B列C列は入力とします。
①B列「状態」が出荷済みかつ、C列「データ1」がD列「データ2」にある→A列判定「〇」
②B列「状態」が出荷済みかつ、C列「データ1」がD列「データ2」にない→A列判定「×」
③B列「状態」が空白かつ、C列「データ1」がD列「データ2」にある →A列判定「保留」
④B列「状態」が空白かつ、C列「データ1」がD列「データ2」にない →A列判定「△」
⑤上記以外の状況はは→A列判定「空白」