【問題3】下記のB3:B6の都府県名から右の1文字を削除しなさい。(都府県の1文字を削除しなさい。)


 

【解答1例】

LEFT関数とLEN関数を組み合わせて使います。

右一文字を削除するということは、文字列の左から「文字数-1」の文字を取り出すことと同じです。

左から文字を取り出すのはLEFT関数、文字数はLEN関数で計算できます。


 

【問題2】下記の住所からそれぞれ都道府県名を取り除いてください。


 

【解答1例】

都:東京都  道:北海道 府:大阪府、京都府 県:4文字(鹿児島県、和歌山県、神奈川県)と3文字(宮崎県、熊本県など)の2パターン

これらのことから4文字目に"県"が含まれるものと3文字で表示されるものの2パターンがあることになりますので

4文字目が「県」である時は5文字目以降を、それ以外は4文字目以降を取り出せばよいことになります。


 

ここではMID(B3,5,LEN(B3)-4) と住所の文字数を数えて都道府県の文字数4(または3)を引いて取り出す文字数を計算しています。

MID関数では取り出す文字数が指定した文字列の数より多くてもエラーとなりませんので、

MID(B3,5,LEN(B3)) としても同じ結果が得られます。

よって、=IF(MID(B3,4,1)="県",MID(B3,5,LEN(B3)),MID(B3,4,LEN(B3))) とか

住所の文字数が100を超えることがないなら、=IF(MID(B3,4,1)="県",MID(B3,5,100),MID(B3,4,100)) とすることもできます。

(Step-Up3)都府県名から右の1文字を削除するにはどうすればよいでしょうか?

【問題1】下記の住所からそれぞれ指定の文字を表示しなさい。


 

【解答1例】

それぞれLEFT、MID、RIGHT関数を使います。


(Step-Up1)FIND関数を使い、「県」を検索して、その位置を基準に文字列を取り出します。

 "【Office シリーズ】-2021-6-28  388-9" 県”,B3))=MID(B3,FIND("県",B3)+1,LEN(B3))

(Step-Up2)都道府県名を取り除くにはどうすればよいでしょうか?

ナンバーストリング

=NUMBERSTRING(数値,表示形式)

(注)他の表計算アプリケーションとの互換を保つために用意された関数のため、ヘルプおよび関数ウィザードには表示されません。

  また、日本語版 Excel でのみ追加されたものです。

【問題】下記の数字をそれぞれの表示形式に変更しなさい。




【別の方法】 セルの表示形式のユーザー定義を使うこともできます。

入力値は「123456」で、書式→セルの表示形式タブでユーザ定義に以下の表示形式を設定します。

(注)Excel2002以降では日本のロケールIDの[$-411]を指定しないと、保存後に開くと[$-FFFF]が設定される不具合があるようです。



文字列から、指定した位置の文字を取り出します   topへ

 レフト

=LEFT(文字列,[文字数])       :文字列の左端から指定した文字数だけ取り出す。

 文字数を省略すると1を指定したことになります(1の時は省略できる)。

 ライト

=RIGHT(文字列,[文字数])      :文字列の右端から指定した文字数だけ取り出す。

 文字数を省略すると1を指定したことになります(1の時は省略できる)。

 ミッド

=MID (文字列,開始位置,文字数) :文字列の指定した位置から指定した文字数だけ取り出す。
 

【問題】C2~C5セルに入力されている半角文字は全角文字に、全角文字は半角文字に変換してE列に表示しなさい。

なお、(半角カタカナ)部分はご自分でExcelへ半角カタカナの文字列を入力してください。



【解答例】



アルファベットの大文字/小文字の変更を行う   topへ

 アッパー

=UPPER(文字列)  :小文字を大文字に変換します。

 ロウワー

=LOWER(文字列)  :大文字を小文字に変換します。

 プロパー

=PROPER(文字列) :1文字目を大文字に、2文字目以降を小文字に変換します。

   (注) カタカナやひらがなには、大文字/小文字の区別はありませんので、何も変化しません。

【例】ASC関数との組み合わせもできます。

文字列を取出す関数の使い分け方

取出す文字列の位置が決まっている場合

左から何文字・・・LEFT関数

右から何文字・・・RIGHT関数

何文字目から何文字まで・・・MID関数

決まった文字を基準にする場合

大文字と小文字を区別する・・・FIND関数と上記「A」の関数を組み合わせる

大文字と小文字を区別しない・・・SEARCH関数と上記「A」の関数を組み合わせる

半角/全角の文字に変換します   topへ

 アスキー

=ASC(文字列) :全角の文字列(英数字、カタカナ)を半角の文字に変換します。

 ジス

=JIS(文字列) :半角の文字列(英数字、カタカナ)を全角の文字に変換します。

   (注)ひらがな、漢字は全角文字ですので、半角文字には変換されません。

【ステップアップ】時間を単位時間で切り捨てる

30分単位で切り捨てて計算する場合には =FLOOR(値,"0:30") とします。

しかし、時間は24時間を1としたシリアル値で換算されていますので、小数部で誤差が出ることがあります。

FLOOR関数でうまくいかない場合もありますので、そういった場合には、

(キーボードからの入力ではほとんど問題ないですが、オートフィルなどで連続データを入力した時などにこの問題を生じます。)

=FLOOR((TIMEVALUE(TEXT(D5,"hh:mm"))),"0:30")*24*D3

のようにTIMEVALUE関数を使う方法があります。

文字列で表された時刻を小数(シリアル値)に変換します  topへ

 タイムバリュー

=TIMEVALUE(時刻文字列)

  時刻のシリアル値:0~0.99999999 の値で、0:00:00(午前0時)~23:59:59 (午後11時59分59秒) までの時刻を返します。

文字データを時刻データ(0~1の小数、シリアル値)に変換します。

TIMEVALUE関数は24時までのシリアル値になります。24:00以上を扱う時はVALUE関数を使うことができます。

【問題】

文字列の時刻データがB2~B5に入力されています。

それぞれの時刻をシリアル値に変換して、C列、D列に表示しなさい。

24:00以上を表示するにはセルの表示形式をユーザー定義で「[h]:mm」とします。

文字列として時刻を表示するには「'6:00」のように「'」(アポストロフィ)を頭に付けます。

または、=TEXT("6:00","h:mm") のようにTEXT関数で変換します。

【表示形式】タブで「ユーザー定義」を選択し、種類に [h]:mm と入力します。


B7セルの表示形式は h:mm 、B9セルの表示形式は [h]:mm とした例です。

B7セルには24時を超えた分しか表示されず、期待した表示になりません。

B9セルは表示形式を [h]:mm として、期待した表示になっています。