dポイントプレゼントキャンペーン実施中!

「B2」セルに適用する関数を知りたいです。

C~E列に数値を入力した際に、その列の見出し(A社 等)を自動で表示したいです。


質問2件目↓は、できればで伺いたいです。

「B4」セルのに適用する関数
複数表示はできないかと思うので、別のセルへの表示
マクロ以外で、複数セルに表示させるなど方法があれば教えていただきたいです。


実際には A社~が30社ほどあり、一目瞭然でB列で社名を確認したく。





初めて利用させていただきます。言葉足らずで恐れ入りますm(__)m

「B2」セルに適用する関数を取り急ぎ教えていただけるととてもありがたいです。。
どうぞよろしくお願いいたします。

「エクセルで数値が入っている列の項目名を表」の質問画像

A 回答 (2件)

まず、ここは「代わりに作ってください」という作業依頼をする場所ではないことをご承知おきください。


自身で問題を解決できるようになるアドバイスを受ける場所という事です。

自分なら、1行目の文字列を結合するかな。
その条件として2行目以降のセルに値があるかを判断する。

「CONCAT関数」または「TEXTJOIN関数」が便利です。
ただしこの関数はMicrosoft365,Excel2019でしか使えないので、
これらを使わない考え方の説明をしてみます。

 =C1&D1&E1
これですべての会社名を表示できます。
ここに各社の表示条件を付けるわけです。
 =IF(C2=1,C1,"") & IF(D2=1,D1,"") & IF(E2=1,E1,"")
こんな感じ。
難しくはないでしょ。

複数並べて表示するときにカンマで区切る必要があるなら、
その条件も作りましょう。
これがTEXTJOIN関数なら簡単にできるってだけです。
    • good
    • 1
この回答へのお礼

ありがとう

早速ありがとうございます!
また、答えのみを求めていて申し訳ございません。
取り急ぎお礼まで、365と2019でないのでIF関数の組み合わせトライしてみます。
頭が固かったです、ありがとうございます!!

お礼日時:2021/05/17 17:18

No.1さんの回答で解決方法がすでに示されていますが、EXCEL2016なら「CONCAT関数」が使えます。



ご質問者は
>実際には A社~が30社ほどあり、・・・・・・
とおっしゃっていますが、とりあえず、C1~G1の5社分のデータがあるとして、No.1さんの示された解決方法をCONCAT関数を使って実現するとすれは、以下のような数式になります。
※C列~G列の部分を実際の表の範囲に合わせて調整してください。

B2に

{=CONCAT(IF($C2:$G2<>"",$C$1:$G$1&",",""))}

{}の波括弧は直接波括弧を入力するのではなく、{}を除いた数式を入力し、Ctrl+Shift+Enterで確定する方法(配列数式:CSE数式)となります。
この方法で入力後、下方向へオートフィル等でコピーしてください。
添付画像を参照してください。
「エクセルで数値が入っている列の項目名を表」の回答画像2
    • good
    • 1
この回答へのお礼

ありがとう

goomaniaさん

キャプチャまで、ご丁寧に教えていただきありがとうございます。
すぐ理解できず、時間がある際に再度確認と思いご返信が遅くなり申し訳ありません。

範囲を正しく指定し「{}を除いた数式を入力し、Ctrl+Shift+Enterで確定」したのですが、#NAME? のエラーが出てしまいました。。

提示いただいている表とデータが違う点は一行目の社名が
文字列のセルと数字のセルがあることくらいでしょうか。もう少し研究したいと思います。無知な自分に細やかに教えていただき感謝しております。

お礼日時:2021/06/03 11:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています