Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
文字を置き換える関数(SUBSTITUTE関数、REPLACE関数)の使い方:Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
文字を置き換える関数(SUBSTITUTE関数、REPLACE関数)の使い方
更新:2025/2/7;作成:2018/2/22
置換対象を指定した場合、文字列中の置換対象番目の検索文字列だけが置き換えられます。
省略した場合は、文字列中のすべての検索文字列が置き換えの対象となります。
指定した文字列を削除することができます。
文字の位置を指定して、文字をほかの文字に置き換えるときは、REPLACE 関数を使用します。
【問題1】下の表の 株式会社 を (株) に置換しなさい。 [問題1の解答例]
B
C
2
株式会社西芝工業
(株) 西芝工業
3
西芝商事株式会社
西芝商事(株)
【問題1の解答例 】
SUBSTITUTE関数を使って、文字列を置換します。
C2セルに =SUBSTITUTE(B2:B3,"株式会社" ,"(株)" ) と入力します。
(注) 同一セルで文字列を置き換えたい場合には、置換機能を使います。
[ホーム]タブの編集グループの[検索と選択]→[置換]を利用します。
ショートカットキーは [Ctrl]+[H] です。
詳細は 置換の使い方 をご覧ください。
【問題2】下の表の 「株式会社」を削除しなさい。 [問題2の解答例]
B
C
2
株式会社西芝工業
西芝工業
3
西芝商事株式会社
西芝商事
【問題2の解答例 】
SUBSTITUTE関数を使って、文字列を削除します。
SUBSTITUTE関数の引数の置換文字列に "" (ダブルクォーテーションを2個)を指定します。
"" は空白文字列とか文字数0の文字列と呼びます。
=SUBSTITUTE(B2:B3,"株式会社","")
【問題3】B2セルに文字列が入力されています。
C列に表示されているように文字(記号)を置き換えなさい。
C2セルは × を □ に置換します。
C3セルは 2つ目の×を □に置換します。
C4セルは 1つ目の×を □に置換し、2つ目の×を ○に置換します。 [問題3の解答例]
B
C
2
○×△○×△
○□△○□△
3
○×△○□△
4
○□△○○△
【問題3の解答例 】
C2セルはすべての ×を□に置換しますので、構文 =SUBSTITUTE(文字列,検索文字列,置換文字列,[置換対象]) の[置換対象]を省略します。 =SUBSTITUTE(B2,"×","□")
C3セルは 2つ目の×を □に置換しますので、=SUBSTITUTE(B2,"×","□",2 ) と[置換対象]を 2 とします。
C4セルは ×を□に置換し、さらに □の2つ目を○に置換します。
=SUBSTITUTE(SUBSTITUTE(B2,"×","□"),"□","○",2)
【問題4】B2:B4に記号が入力されています。○の数をカウントしなさい。 [問題4の解答例]
B
C
2
○×△○○△
3
3
○×△×△○
2
4
×○×△×△
1
【問題4の解答例 】
対象文字 ○ を空白に置き換えて(取り除いて)、文字列の長さを比較すれば、対象文字の数を求めることができます。
C2セルに =LEN(B2:B4)-LEN(SUBSTITUTE(B2:B4,"○","")) と入力します。
【問題5】B2セルにセル内改行された文字列があります。改行を削除しなさい。 [問題5の解答例]
下の表をExcelへコピペするとB2セルが B2とB3セルに分割されるかもしれません。
その時は、下の方を利用してください。
B
C
2
鹿児島市
山下町
鹿児島市山下町
4
="鹿児島市"&CHAR(10)&”山下町”
鹿児島市山下町
手入力でセル内改行は 鹿児島市 [Alt]+[Enter] 山下町 と入力します。
改行されないときは、セルの配置を [ホーム]タブの配置グループの[折り返して全体を表示する]をオンにする必要があります。
【問題5の解答例 】
数式は =SUBSTITUTE(B2,CHAR(10) ,"") とします。
または、=CLEAN(B2) とすることもできます。
置き換える文字の位置が決まっている場合に使用できます。
【問題6】B列の文字や記号をC列に変換しなさい。 [問題6の解答例]
B
C
2
いろはにほへと
はにほへと
3
いろはにほへと
いろちほへと
4
○□△○□△○□
○□△×□
いろはにほへと
あいうえおにほへと
【問題6の解答例 】
C2セルはB2セルの文字の1番目から2つが消えています。よって、=REPLACE(B3,1,2,"") としました。
いろ はにほへと → はにほへと
C3セルはB3セルの3番目と4番目の2文字が ち に置き換わっています。=REPLACE(B4,3,2,"ち") としました。
いろはに ほへと → いろち ほへと
C4セルはB4セルの4番目の文字から7番目の文字まで4個が × に置き換わっていますので、=REPLACE(B5,4,4,"×") としました。
○□△○□△○ □ → ○□△× □
C5セルはB5セルの1番目から3文字が あいうえお に置き換わっていますので、=REPLACE(B5,1,3,"あいうえお") としました。
いろは にほへと → あいうえお にほへと
【問題7】下表にように、REPLACE関数を使ってセル内に簡易グラフを作成しなさい。 [問題7の解答例]
B
C
D
2
名前
国語
3
名前1
50
||||||||||||||||||||||||||||||||||||||||||||||||||
4
名前2
60
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
5
名前3
70
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
6
名前4
10
||||||||||
【問題7の解答例 】
REPT("|",100) で"|"縦棒を100本並べて、この縦棒の後ろを空白に置換してグラフのようにします。
数式は =REPLACE(REPT("|",100),C3:C6+1,100-C3*C6," ") としました。
しかし、実用的には下図のように =REPT("|",C3) の方がスマートですね。
半角文字(1バイト)の置換の例はわかりやすいのですが、全角文字(2バイト)が対象になるとちょっとわかりにくくなります。
C2セルの数式は すべて =REPLACEB(B2:B5,3,3, "X" ) としています。
C2セルは B2セルの ABCDE F が ABX F に変わっているので、3文字目から3バイトの文字が X に変わっています。
C3セルは あいC DEF → あX DEF に変わっているので、3バイト目から3バイト分の文字(5バイト目まで)が X に変わっています。
C4セルは あいう えおか → あX えおか に変わっているので、3バイト目から3バイト分の文字(5バイト目まで)が X に変わっています。
ただし、 X の後ろに半角のスペースが入っています。
C5セルは いろは にほへと → いX にほへと に変わっているので、3バイト目から3バイト分の文字(5バイト目まで)が X に変わっています。
ただし、 X の後ろに半角のスペースが入っています。
スポンサードリンク
Home »
エクセル関数一覧表 »
文字を置き換える関数(SUBSTITUTE関数、REPLACE関数)の使い方
PageViewCounter
Since2006/2/27