クリエイターの教科書

ChatGPT, Stable Diffusion, Visual Studio, Excelなど教科書

【エクセルの教科書】書式設定の関数まとめ 使い方は?不具合は?

エクセルでは書式設定は重要な役割を占めています。エクセルの設定で書式設定以外にも、関数を使ったりVBAを使う方法があります。

書式設定とは?

1000 FLICKR UPLOADS!!!!

エクセルでは実際にセルに入っているデータと、セル上に表示されるデータが異なります。

 

例えば実際のデータが「10」であっても、書式設定によって「$10」だったり「1900/1/10 0:00:00」だったり「1000.00%」などに変更できます。

 

しかし書式をいくら変えようとも、セルにある元のデータ自体「10」自体は変更されません。

 

実際に試してみましょう。セルに数値で10.を入れます。

f:id:apicode:20190620091900p:plain

 

セルを右クリックし「セルの書式設定」を実行。

f:id:apicode:20190620091902p:plain

 

「日付」にしてみます。

f:id:apicode:20190620091906p:plain

 

中のデータの数値は変えてないのに、セルには「明治33年1月10日」と表示されるようになりました。

f:id:apicode:20190620091908p:plain

 

%で表示する

よく使うのは%での表示でしょう。

0.1とは言っているセルを、書式設定でパーセンテージにしておけば表示は10%となります。

f:id:apicode:20200122142243p:plain

 

小数点以下の桁数も設定できます。

例えば「0.12345」という数値を、パーセンテージ表示で小数点以下2桁として設定すれば「12.35%」として表示されます。

f:id:apicode:20200122142342p:plain

 

 

関数を使って設定する

TEXT関数

関数を使って書式を変更するならTEXT関数を使います。

機能:書式を変更

書き方:TEXT(セル,表示形式)

使用例:A1セルに「40000」と入っている場合、

 

  • 「=TEXT(A1,"yyyy/mm/dd")」とすると「2009/07/06」
  • 「=TEXT(A1,"¥#,###")」とすると「¥40,000」
  • 「=TEXT(A1,"####.00")」とすると「40000.00」



...となります。

 

 

VBAを使って設定する

VBAを使いこなすと、かなりいろんな書式設定ができるようになります。

一度に多くのセルを変換しすることもできます。

今までなら、セルを選んで、「xx」メニューを出して「yy」ボタンを押して、「zz」を選んで...というのを毎回実行していました。

それをワンボタンでやれるようになると、時間的にもずいぶん楽です。

ここではセルの書式変更をしてみましょう。

 

まずサンプルとしてA1に適当な数値を入れます。

f:id:apicode:20150916094852p:plain

「開発」メニューから「VisualBasic」を選びビジュアルベーシックエディターを起動します。

Sheet1をダブルクリックして、シート用のスクリプトウィンドウを開きます。

次のように入れます。

Sub test()
   Range("A1").NumberFormatLocal = "0%"
End Sub

f:id:apicode:20150916094905p:plain

 

これはセル(A1)の書式設定を「パーセント表示」にしろという命令です。

 

F5キーを押して実行後、エクセルの画面に戻ると、セルがちゃんとパーセント表示になっています。

パーセントでは1が100ですから、155は15500になっているわけです。

f:id:apicode:20150916094910p:plain

 

書式を数値にする

0_ と指定すると書式が文字列になります。

Sub test()
   Range("A1").NumberFormatLocal = "0_ "
End Sub

 

書式を日付にする

yyyy/m/dと指定すると書式が文字列になります。

Sub test()
   Range("A1").NumberFormatLocal = "yyyy/m/d"
End Sub

 

 

書式を文字にする

アットマークを指定すると書式が文字列になります。

Sub test()
   Range("A1").NumberFormatLocal = "@"
End Sub

 

 

不具合

数値によって書式を変えたい?

数値が大きい場合と小さい場合の書式を変えたい場合、書式設定だけでは大変です。

 

例えばIF関数で分岐させて、それぞれにTEXT関数を置くようにしましょう。

例えば「=IF(A1>10, TEXT(A1,"yyyy/mm/dd"), TEXT(A1,"000"))」とすると、A1の値が10より大きいと日付書式に、そうでないばあいは数値で表現させることができます。

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

プライバシーポリシー |〇利用規約 |〇問い合わせ