【問題7】下表にように、REPLACE関数を使ってセル内に簡易グラフを作成しなさい。
【問題7の解答例】
REPT("|",100) で"|"縦棒を100本並べて、この縦棒の後ろを空白に置換してグラフのようにします。
数式は =REPLACE(REPT("|",100),C3+1,100-C3," ") としました。
縦棒100本は5,6行目の数式のように実際に入力してもOKです。
数式は =REPLACE("||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
C5+1,100-C6," ")
となります。
しかし、実用的には下図のように =REPT("|",C3) の方がスマートですね。
文字列中の開始位置から指定したバイト数の文字を置換文字列に置き換えます
リプレース
=REPLACEB(文字列,開始位置,バイト数,置換文字列)
半角文字(1バイト)の置換の例はわかりやすいのですが、全角文字(2バイト)が対象になるとちょっとわかりにくくなります。
C2:C4セルの数式は すべて =REPLACEB(B2,3,3,"X") としています。
C2セルは B2セルの ABCDEF が ABXF に変わっているので、3文字目から3バイトの文字が X に変わっています。
C3セルは あいCDEF → あXDEF に変わっているので、3バイト目から3バイト分の文字(5バイト目まで)が X に変わっています。
C4セルは あいうえおか → あX えおか に変わっているので、3バイト目から3バイト分の文字(5バイト目まで)が X に変わっています。
ただし、 X の後ろに半角のスペースが入っています。
C5セルは あいうえおか → あXえおか に変わっているので、3バイト目から4バイト分の文字(6バイト目まで)が X に変わっています。