ダウンロード

文字列の連結

連結演算子 &
連結関数 CONCATENATE
ユーザー定義関数
サンプルファイルのダウンロード
リンクリスト

結合演算子 &

複数のセルに入力された値(文字列)は、「(アンパサンド−ampersand)」で
1つの文字列として結合することが出来ます。


連結関数 CONCATENATE

関数(CONCATENATE)を使用して結合することもできます。
 (関数の読み方:コンカティネイト 単語の意味 )


文字列の連結−ユーザー定義関数

ユーザー定義関数(ConcatenateArray)を作成します。
   パラメータは、セル範囲、または配列


関数仕様
   ConcatenateArray(範囲 , 区切り文字)
     範囲: セルの範囲、または、配列
     区切り文字: データとデータとの間の区切り文字、省略時は区切り無し


応用例

 下記の表は、シフト勤務を表しています。
   ○:日勤  △:早出  ★:遅出

 ここで、★の次の日は、△を禁止したいと思います。(遅出の翌日の早出)

 ★、△が連続する場合は"×"を表示するようにしてください。


探す文字は、★と△の連続ですが、間に休みがある場合は対象となりません。
よって、日々の勤務文字を単に連結するのではなく、区切り文字として","を使用します。
(区切り文字は空白以外何でも可。ここでは分り易いように全角カンマ)

連結した文字から"★,△"の文字を探し、在れば「×」を表示。

検索関数は、COUNTIF,SEARCH いずれでも可。それぞれ長所、短所あり

  COUNTIF SEARCH
長所 個数で返るので、エラー処理は特に必要なし 見つかった文字位置まで調べられる
短所 文字列全体を探すので、「含む」場合は、ワイルドカードを使用しなければならない。
上図では、検索する文字列 $L$59 の前後に"*"を連結して、「含む」の形にしている。
無い場合は、#VALUEのエラーが返るので、そのエラー処理をする必要がある。戻り値を表示する場合、関数を2回使うことになる。(EXCEL2007以上ではIFERROR関数を使用して簡素に記述可) 
上図ではSEARCH関数の戻り値ではなく"×"を表示しているので、関数は1個で済んでいる。
     


×
PageTop