文字列から特定位置の文字を取り出す

このサンプルでは、桁数の決まっている文字列から、指定位置、指定桁数分の文字列を取り出します。固定長データファイルなどの取り扱いに用いる方法です。
LEFT、MID、RIGHT関数を使う。
文字列操作関数サンプル(日付処理)
(画像をクリックすると、このページのサンプルがダウンロードできます)
文字列操作は「比較的高度」とされていますが、やってみれば難しくはありません。問題は「どのように利用するか」、利用者の要望にどう関わるかです。これを知っていればできることはかなりあるはずですので、少し「気に掛けて」下さい。
ここでの例は、一般的な日付(YYYYMMDD形式の文字列)を年・月・日に分解する例です。

LEFT関数は、文字列から左側の指定した文字数を切り出す関数です。
「年月日」から左4文字(年)を切り出す。
このサンプルでは、B2セルの値(20240424)から、左4文字(2024)を切り出しています。



関数概略説明
 LEFT関数  文字列の先頭から指定された数の文字を返します。引数は以下の通りです。
 ① 文字列
 ② 文字数

MID関数は、文字列から中間で指定した文字位置の指定した文字数を切り出す関数です。
「年月日」の5文字目から2文字(月)を切り出す。
このサンプルでは、B2セルの値(20240424)の左から5文字目から2文字(04)を切り出しています。



関数概略説明
 MID関数  文字列の指定された位置から指定された文字数の文字を返します。引数は以下の通りです。
 ① 文字列
 ② 開始位置
 ③ 文字数

RIGHT関数は、文字列から右側の指定した文字数を切り出す関数です。
「年月日」から右2文字(日)を切り出す。
このサンプルでは、B2セルの値(20240424)から、右2文字(24)を切り出しています。



関数概略説明
 RIGHT関数  文字列の末尾(右端)から指定された文字数の文字を返します。引数は以下の通りです。
 ① 文字列
 ② 文字数

さらに、DATE関数で、分解した「年」「月」「日」から日付のデータ形式を生成します。
分解した「年」「月」「日」から日付のデータ形式を生成





関数概略説明
 DATE関数  年・月・日のそれぞれ独立した値から、それらを組み合わせて日付を生成します。引数は以下の通りです。
 ① 年
 ② 月
 ③ 日
このサンプルでは「2024」「04」「24」という「数字に見える文字列」を引数に使用していますが、 Excelに救済されて正常に処理されているものと思われます。 本来であれば、年・月・日はそれぞれを「VALUE関数」で数値に変換してから「DATE関数」に渡すべきかも知れません。
その場合の数式は以下のようになります。

 =DATE(VALUE($B$4),VALUE($B$5),VALUE($B$6))





関数概略説明
 VALUE関数  「数値を表す文字列」を「数値」に変換します。引数は「数値を表す文字列」です。

文字列操作の例は、文字列操作の例(JANコードのチェックデジット算出)も参照して下さい。