maki0123
@maki0123

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

【解決】複数条件に一致する行の特定列の文字列を表示したい。

解決したいこと

Excel関数の知識が乏しく、ご教示ください。

「生年月日」と「名前」が一致している人が重複して存在する場合、
「結果」に古い方の(リストの上にある方の)「修了年月日」と「修了証番号」を表示したいです。

image.png

結果イメージ
image.png

修了証番号の記載のみならINDEX関数とMATCH関数でいけるかと思ったのですが、うまくいきませんでした。
(そもそもの記載に誤りがあるかもしれません)
=INDEX($A$2:$G8,MATCH($D8&$E8,$D$2:$D8&$E$2:$E8,0),2)

連結や書式設定等も含むのでややこしい式になりそうですが、作成可能であれば数式や他の方法をご教示いただけますと大変ありがたいです。
どうぞよろしくお願いいたします。


ご助言いただいたおかげで要件に合うものが作成できました。
ご回答くださったみなさま、ありがとうございました!

0

3Answer

質問者様の数式を参考に、以下のような式でやりたいことは実現できそうでした。
長い数式で見づらくなってすみません。

=INDEX($B$2:E8,MATCH(B2&C2,$B$2:B8&$C$2:C8,0),3)&"("&INDEX($B$2:E8,MATCH(B2&C2,$B$2:B8&$C$2:C8,0),4)&")"

image.png




自身の行と結果が一致する場合非表示にしたいときは、IF文をかませばうまくいきそうでした。

=IF(INDEX($B$2:$E$9,MATCH(B9&C9,$B$2:B16&$C$2:$C$9,0),3)&"("&INDEX($B$2:$E$9,MATCH(B9&C9,$B$2:B16&$C$2:$C$9,0),4)&")"= D9&"("&E9&")","", INDEX($B$2:$E$9,MATCH(B9&C9,$B$2:B16&$C$2:$C$9,0),3)&"("&INDEX($B$2:$E$9,MATCH(B9&C9,$B$2:B16&$C$2:$C$9,0),4)&")")

image.png

0Like

ご回答いただきありがとうございます!
実現ができそうとのことでひとまず安心しました。

@YottyPG 様の数式を試してみようと再現したところ、VALUEエラーになってしまいました。。
image.png

下記の表示形式を変更せずに対応することは可能でしょうか?
B、D列  …日付
A、C、E列…標準(E列は数値に変更してもOKです)

0Like

Comments

  1. =IF(INDEX($B$2:$E$9,MATCH(B2&C2,$B$2:$B$9&$C$2:$C$9,0),3)&"("&INDEX($B$2:$E$9,MATCH(B2&C2,$B$2:$B$9&$C$2:$C$9,0),4)&")"= D2&"("&E2&")","", TEXT(INDEX($B$2:$E$9,MATCH(B2&C2,$B$2:$B$9&$C$2:$C$9,0),3), "gggyyyy年m月d日")&"("&INDEX($B$2:$E$9,MATCH(B2&C2,$B$2:$B$9&$C$2:$C$9,0),4)&")")
    

    絶対参照になっていない箇所があり、いけてない部分があったので少し修正しました。
    また、日付の値を参照したときにシリアル値になっていたのでTEXT関数を追加しました。

    エラーになるのは、日付かどうかは関係なく参照がうまくいっていないのだと思います。
    参照先が正しく設定されているか今一度ご確認してみてください。

  2. 一つのセルに全て納めようとすると数式が複雑になってしまうので、
    @github0013@github さんのように分割して取得したほうがわかりやすいと思います。

    私も一例として作成してみました。

    A列

    =IF(E2=F2,"",H2)
    

    F列

    =MATCH(B2&C2,$B$2:$B$9&$C$2:$C$9,0)
    

    G列

    =TEXT(D2,"gggyyyy年m月d日")&"("&E2&")"
    

    H列

    =VLOOKUP(F2:F9,E2:G9,3)
    

    image.png

Your answer might help someone💌