EXCELの関数について質問です。

各シートの抽出条件を[リスト一覧]シートからデータを抽出してます。

=INDEX(リスト一覧!$B$4:$B$10,SUMPRODUCT((リスト一覧!$A$4:$A$10=$A4)*(リスト一覧!$C$4:$C$10=$B4)*ROW(リスト一覧!$A$4:$A$10))-3)

抽出条件の文字列に「①〜⑫」がついても、
リスト一覧の文字列と一致させるにはどうしたらよろしいでしょうか?
(例)
アイスクリーム
アイスクリーム①
アイスクリーム② = アイスクリーム(リスト一覧) 
アイスクリーム③
アイスクリーム⑫

以上、よろしくおねがいします。

回答の条件
  • 1人10回まで
  • 13歳以上
  • 登録:2012/02/15 21:46:16
  • 終了:2012/02/20 13:58:25

ベストアンサー

id:taknt No.2

きゃづみぃ回答回数13481ベストアンサー獲得回数11982012/02/16 00:13:53

ポイント250pt

=INDEX(リスト一覧!$B$4:$B$10,SUMPRODUCT((リスト一覧!$A$4:$A$10=IF(RIGHT($A4,1)>="①",IF(RIGHT($A4,1)<="⑫",LEFT($A4,LEN($A4)-1),$A4),$A4))*(リスト一覧!$C$4:$C$10=$B4)*ROW(リスト一覧!$A$4:$A$10))-3)

これでいいですよ。

その他の回答(1件)

id:TransFreeBSD No.1

TransFreeBSD回答回数653ベストアンサー獲得回数2622012/02/15 22:32:37

ポイント250pt

例えば

(リスト一覧!$A$4:$A$10=$A4)

の場合

((リスト一覧!$A$4:$A$10=$A4)+(リスト一覧!$A$4:$A$10=LEFT($A4,LEN($A4)-1)))

として、1文字取り除いたものでも比較したらどうでしょう?
(どちらも同時にTRUEにはならないので2にはならない)

id:windofjuly

かなり極端な話になるので恐縮ですが、末尾一文字抜くだけだと、
下記のようなものすべて同一視されちゃいます・・・
・アイスクリーム  = アイスクリーム(リスト一覧)
・アイスクリームA = アイスクリーム(リスト一覧)
・アイスクリームB = アイスクリーム(リスト一覧)

2012/02/15 23:04:08
id:TransFreeBSD

確かにその通りですね。それが許容出来ないなら以下でどうでしょう?

((リスト一覧!$A$4:$A$10=$A4)+(リスト一覧!$A$4:$A$10=LEFT($A4,LEN($A4)-1))* ISNUMBER(FIND(RIGHT($A4,1),"①②③④⑤⑥⑦⑧⑨⑩⑪⑫")))

ここまで長くなると、できれば別のセルに最後の①~⑫をとったのを入れるようにした方がメンテナンスとか楽になると思うけど。

2012/02/15 23:37:33
id:taknt No.2

きゃづみぃ回答回数13481ベストアンサー獲得回数11982012/02/16 00:13:53ここでベストアンサー

ポイント250pt

=INDEX(リスト一覧!$B$4:$B$10,SUMPRODUCT((リスト一覧!$A$4:$A$10=IF(RIGHT($A4,1)>="①",IF(RIGHT($A4,1)<="⑫",LEFT($A4,LEN($A4)-1),$A4),$A4))*(リスト一覧!$C$4:$C$10=$B4)*ROW(リスト一覧!$A$4:$A$10))-3)

これでいいですよ。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません