文字列を扱う関数 ~Excelワークシート関数,VBA関数
エクセルで文字列を扱うワークシート関数、VBA関数をまとめました。
ワークシート関数
(参考)
VBAからも
Application.WorksheetFunction.ワークシート関数()
とすると、ワークシート関数を使うことが出来ます。
関数名 | 説明 | 例 |
---|---|---|
= LEN(文字列) | 文字数を返す |
= LEN("文字列") 3 を返す |
= MID(文字列, 開始位置, 長さ) | 開始位置から長さ分の文字列を返す |
= MID("文字列です",2,3) "字列で" を返す |
= FIND(検索文字列, 対象文字列, [検索開始位置]) | 対象文字列 に存在する 検索文字列 の位置を返す 大文字小文字を区別する |
= FIND("文字", "ここの文字列から") 4 を返す = FIND("BC", "ここの文字列からabcd") #VALUE! を返す |
= SEARCH(検索文字列, 対象文字列, [検索開始位置]) | 対象文字列 に存在する 検索文字列 の位置を返す 大文字小文字を区別しない |
= SEARCH("BC", "ここの文字列からabcd") 10 を返す |
= REPLACE(置換対象文字列, 開始位置, 長さ, 置換文字列) | 置換対象文字列 の 開始位置 から 長さ 分の位置にある文字列を、置換文字列 に置換する |
= REPLACE("置換対象文字列", 3, 2, "された") "置換された文字列" を返す |
= SUBSTITUTE(置換対象文字列, 置換前文字列, 置換後文字列) | 置換対象文字列 から 置換前文字列 を探し、置換後文字列 に置換する |
= SUBSTITUTE("置換対象文字列", "対象", "された") "置換された文字列" を返す |
= TEXT(値, 書式設定文字列) | 値が書式設定文字列に従って書式設定される |
= TEXT(DATE(2020,10,30),"YYYY/MM/DD(AAA)") "2020/10/30(金)" を返す |
= TRIM(文字列) | 前後の全角、半角の空白文字を削除する |
= TRIM(" あいうえお ") "あいうえお" を返す |
= REPT(文字列, 回数) | 文字列を指定回数繰り返す文字列を返す |
= REPT("文字",3) "文字文字文字" を返す |
= UPPER(文字列) | (全角半角の)文字列を大文字にする |
= UPPER("abc") "ABC" を返す |
= Lower(文字列) | (全角半角の)文字列を小文字にする |
= LOWER("ABC") "abc" を返す |
VBA関数
関数名 | 説明 | 例 |
---|---|---|
Len(文字列) | 文字数を返す |
Dim i As Long i = Len("文字列") 3 を返す |
Mid(文字列, 開始位置, 長さ) | 開始位置から長さ分の文字列を返す |
Dim st As String st = Mid("文字列です",2,3) "字列で" を返す |
InStr([検索開始位置], 対象文字列, 検索文字列, [比較モード]) |
対象文字列 に存在する 検索文字列 の位置を返す 比較モードに指定できる値
|
i = InStr("文字列", "字") 2 を返す i = InStr(1, "ここから文字列の位置を探してもらう", "文字列", vbTextCompare) 5 を返す i = InStr(1, "ここから文字列の位置を探してもらうabcde", "BC", vbTextCompare) 19 を返す i = InStr(1, "ここから文字列の位置を探してもらうabcde", "BC", vbBinaryCompare) 0 を返す |
Replace(置換対象文字列, 置換前文字列, 置換後文字列, [開始位置], [置換数], [比較モード]) |
置換対象文字列 から 置換前文字列 を探し、置換後文字列 に置換する 比較モードに指定できる値
|
st = Replace("置換対象文字列", "対象", "された") "置換された文字列" を返す |
Format(値, 書式) | 値が書式設定文字列に従って書式設定される |
Dim st As String st = Format(1234.567, "0.00") "1234.57" を返す Dim st As String st = Format(DateSerial(2000, 4, 4), "yyyy/mm/dd") "2000/04/04" を返す |
Trim(文字列) | 前後の全角、半角の空白文字を削除する |
Dim st As String st = Trim(" あいうえお ") "あいうえお" を返す |
LTrim(文字列) | 左側の全角、半角の空白文字を削除する |
Dim st As String st = LTrim(" あいうえお ") "あいうえお " を返す |
RTrim(文字列) | 右側の全角、半角の空白文字を削除する |
Dim st As String st = RTrim(" あいうえお ") " あいうえお" を返す |
UCase(文字列) | (全角半角の)文字列を大文字にする |
Dim st As String st = UCase("abc") "ABC" を返す |
UCase(文字列) | (全角半角の)文字列を小文字にする |
Dim st As String st = LCase("ABC") "abc" を返す |