Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2016)
特定のセルに入力された文字を別のセルに表示したい
投稿日時: 21/05/08 13:42:22
投稿者: ももいろのことり

こんにちは。いつもお世話になり大変助かっております。
 
下のような表を作成しています。
A1〜H1まではすでに文字が入力されています。
D2〜H2までは入力規則でリストからを選択して「あいう」のいずれかが入力できるようになっています。
A2〜C6までは空白です。
 
D〜2列の2行目以下に「★△●◇◎」のいずれかが入力されたら
同じ行のA〜C列に「あいう」が表示されるようにしたいです。
 
INDEXなど当てはめてみましたが思うような結果が得られませんでした。
手ほどきをお願いいたします。
 
例えば、
D2に「い」と入力された場合、B2に「★」を表示したい
F3に「う」と入力された場合、C3に「●」を表示させたい
 
ということなのですが、文字で書くと自分でもこんがらがってきました。
お手数ですが、不明点はご質問くださればうれしいです。
 
 
  A  B  C  D  E  F  G  H
1 あ  い  う  ★  △  ●  ◇  ◎
2    ★     い
3 ★     ●  あ     う



 
どうぞよろしくお願いいたします。
バージョンの選択肢にありませんでしたが、Excel2019です。

投稿日時: 21/05/08 14:06:25
投稿者: ももいろのことり

引用:
D〜2列の2行目以下に「★△●◇◎」のいずれかが入力されたら
同じ行のA〜C列に「あいう」が表示されるようにしたいです。

 
↑申し訳ありません。誤りです。
余計にわかりにくくなって混乱させてしまったと思います。
 
D〜H列の2行目以下に「あいう」のいずれかが入力されたら
同じ行のA〜C列に「★△●◇◎」が表示されるようにしたいです。
 
自分で書いていてもわかりにくいので、本当に申し訳ありません。
 

回答
投稿日時: 21/05/08 14:12:08
投稿者: んなっと

  A  B  C  D  E  F  G  H
1 あ い う ★ △ ● ◇ ◎
2 ◇ ★   い     あ あ
3 ★   ● あ   う    
 
A2
=IFERROR(INDEX($D$1:$H$1,MATCH(A$1,$D2:$H2,0)),"")
右方向・→下方向・↓

投稿日時: 21/05/08 14:31:47
投稿者: ももいろのことり

んなっと さんの引用:

=IFERROR(INDEX($D$1:$H$1,MATCH(A$1,$D2:$H2,0)),"")
右方向・→下方向・↓

 
んなっと様
 
早速のご教示ありがとうございます。お陰様でうまくできました。
 
ところが、よく確認してみたところ
「D〜H」列の同じ行におなじ文字がある場合「A〜C」に同じ記号を複数「★★」のように表示しなければならない場合がありました。
最大3つまでのケースがあります。
 
後だしで機能の追加のようになって申し訳ありませんが、手立てはありますでしょうか。

回答
投稿日時: 21/05/08 14:45:36
投稿者: んなっと

FILTER関数が使える環境の場合
 
   A    B  C  D  E  F  G  H
1  あ   い う ★ △ ● ◇ ◎
2 ◇◎ ★△●   い い い あ あ
3 ★◎     ● あ   う   あ
 
A2
=CONCAT(FILTER($D$1:$H$1,$D2:$H2=A$1,""))
 
使えない環境の場合
=IF(A$1=$D2,$D$1,"")&IF(A$1=$E2,$E$1,"")&IF(A$1=$F2,$F$1,"")&IF(A$1=$G2,$G$1,"")&IF(A$1=$H2,$H$1,"")
=REPT($D$1,A$1=$D2)&REPT($E$1,A$1=$E2)&REPT($F$1,A$1=$F2)&REPT($G$1,A$1=$G2)&REPT($H$1,A$1=$H2)

回答
投稿日時: 21/05/08 16:45:52
投稿者: んなっと

引用:
自分で書いていてもわかりにくいので、本当に申し訳ありません。

そんなことありません。理想的な質問の構成です。
(ほかの質問者も見習ってほしい...)これからもどんどん質問してくださいね。

投稿日時: 21/05/08 17:57:57
投稿者: ももいろのことり

んなっと様
 
素早いお返事で、本当に助かります。
 
FILTER関数を使ってみたいのですが、自分のパソコン(365)では動作しましたが、
ほかのパソコンでは使えないかも知れないので、ご提示いただいている「使えない環境の場合」で
短い方の数式を採用してみたいと思います。
(短いとか長いとか、そんな問題ではないような気もしますけれど)
 
今回「REPT関数」という関数を教えていただきましたが、次はどこに使ってみようかなと、いろいろ夢を見ています。
まるで、ゲームの中で新しいアイテムを入手した様な気持ちになりました。
その上に

引用:
そんなことありません。理想的な質問の構成です。
(ほかの質問者も見習ってほしい...)これからもどんどん質問してくださいね。

もったいないようなお言葉がけをいただいて、本当にうれしいです。
 
どうもありがとうございました。
またつまづいたら、ここにやってきますので、よろしくお願いいたします。