• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

田中亨「Excelの謎」

マイクロソフトさん、その式は間違いです(第18回)

18

田中 亨=テクニカルライター 2007/10/05 日経PC21
出典:日経PC21 2004年5月号
(記事は執筆時の情報に基づいており、現在では異なる場合があります)
目次一覧

 エクセルの「2003」をお使いの読者がいたら、関数式を自動作成する機能「カンタン関数ウィザード」を試してほしい[注1]。ボタンからウィザード画面を開き、「曜日を求める」を選択。A2セルに入った日付を指定すると、次のような式が立てられる。

[注1]カンタン関数ウィザード
このウィザードを利用するには「ツール」メニューの「アドイン」を選び、開く画面で「カンタン関数ウィザード」をオンにする

 =TEXT(WEEKDAY(A2),"aaa")

 実はこの式、“答え”は正しく表示されるが、“考え方”は完全に間違っている。「雑誌やマニュアル本でも、同様の式を教えていた…」と反論する人がいるかもしれない。だがそれは、もともとこの式がエクセルの「ヘルプ」に書かれていた式だったことに由来する。すなわち、「カンタン関数ウィザード」が登場する以前から、マイクロソフトは“間違った式”を世に広めていたわけで、それを鵜呑みにした雑誌や書籍も、同じ間違いを犯してきたのである。

ヘルプ、雑誌、解説本…、人々を惑わす“誤った教え”

 改めて、マイクロソフトが広めた「=TEXT(WEEKDAY(A2),"aaa")」という式を分析してみよう。先頭のTEXT関数は、1番目の引数に指定した数値や日付に対し、2番目の引数に指定した「表示形式」を設定してセルに表示する関数だ。表示形式は、「年」なら「y」、「月」なら「m」といった書式記号を、「"」(ダブルクォーテーション)で挟んで指定する。ここで指定している「aaa」は、日付の曜日を漢字1文字で表示するための書式記号。TEXT関数を使わない場合も、日付が入ったセルの「表示形式」を「ユーザー定義」とし、「種類」欄に「aaa」と指定することで、日付の曜日を自動表示できる。


 勘のいい人なら、もうお気付きだろう。書式記号「aaa」の意味とTEXT関数の働きを考えれば、曜日を表示する関数式は、次の式が“正解”のはずだ。=TEXT(A2,"aaa")そう、マイクロソフトが作成した式は、WEEKDAY関数の部分が余計なのである。


[では、この式のWEEKDAY関数は:次のページへ]

ここから先はITpro会員(無料)の登録が必要です。

次ページ では、マイクロソフトの式で、WEEKDAY関数は...
  • 1
  • 2

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

  • 【IoTで快適オフィス】

    二酸化炭素濃度まで見える化、IoTで「快適空調」

     トイレや会議室と並んで、社員の不満が出やすいオフィス設備の一つが空調機器だ。温度や湿度など空気の状態は部屋の人数や動きによって変化しやすく、感じ方も人によって異なる。IoTの技術を使って空気の状態などを見える化し、空調設備などの制御を最適化するシステムの開発が活発になってきた。

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

クライアント/OA機器

ネットワーク/通信サービス

セキュリティ

もっと見る