Excel (一般機能)

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

 
(Windows 11 Home : その他)
文字にかっこを付けたい
投稿日時: 26/03/18 14:34:39
投稿者: なつ

文字にカッコをつける式について教えてください。
EXCELのバージョンは2024です。
 
現在のブックに、シート「一覧表」と「見積書」があります。
 
シート「一覧表」には、以下のようにU列に講師名、V列に職種が入っています。
 
 

No.   U列      V列
     講師名     職種
4  ああ うえお   保健師
5  かき くけ子   栄養士
6  調整中       空欄
7    ・      ・
8    ・      ・
9    ・      ・

 
「一覧表」シートのセル I1 に見積番号を入れると、「見積書」シートに講師名と職種を表示したく思っています。
 
シート名「見積書」のY34に以下の式が入っています。
 
=IF(VLOOKUP(一覧表!I1,一覧表!$A$4:$W$121,21,FALSE)=0,"","講師:"&VLOOKUP(一覧表!I1,一覧表!$A$4:$W$121,21,FALSE)&" "&VLOOKUP(一覧表!I1,一覧表!$A$4:$W$121,22,FALSE))
 
このままだと「ああ うえお 事務職」と表示されますが、「ああ うえお (保健師)」というように、職種にカッコをつけて表示させたいです。
 
・V列の職種をカッコつきで表示したい 表示例:かき くけ子 (栄養士)
・ただし、講師名は調整中、職種欄は空欄の場合があり、その場合、職種だけではなくカッコも表示させたくない 表示例:調整中
 
ただでさえ式が長いのですが、どのようにすればよいでしょうか。
ご教示いただけますと幸いです。
よろしくお願いいたします。
 

回答
投稿日時: 26/03/18 16:05:50
投稿者: んなっと

=CONCAT(TEXT(IFERROR(XLOOKUP(一覧表!I1,一覧表!$A:$A,一覧表!$U:$V),""),{";講師:@","; (@)"}))
 
とか
 
=LET(a,IFERROR(XLOOKUP(一覧表!I1,一覧表!$A:$A,一覧表!$U:$V),""),CONCAT(TEXT(IF(a="",0,a),{";講師:@","; (@)"})))

投稿日時: 26/03/19 10:20:35
投稿者: なつ

んなっと さん
 
式の提示をありがとうございました。
最初にご提示いただいた式で無事に表示されました。
 
初めて見る関数なので、内容変更にも対応できるよう勉強します。
助かりました。ありがとうございました。