AIを使った時刻表記の統一

1.はじめに

Excel表で時刻を表記するとき、通常は「9:30」といった半角文字で表します。しかし、見かけは同じ「9:30」でも、文字列の場合、Date型の時刻値の場合、Date型の年月日付き時刻値の場合など、種々の異なる値があり得ます。更に、Excelに慣れていない入力者の場合は、半角文字でなく全角文字を使ったり、「:」(コロン)の代わりに「;」(セミコロン)を使ったりすることもあります。そのため、多数の入力者のデータをまとめるとき、時刻表記の統一は結構手間のかかる作業になります。

そこで、AIを活用することで、この作業を簡略化できないかと考え、試してみました。本稿はこの作業の要点をまとめたものです。なお、AIの場合、同じ指示(プロンプト)を与えても、同じ結果が得られるとは限りません。同様のことを行いたい場合は、やり方の趣旨を理解したうえで試みてください。

2.サンプルデータ

今回利用したサンプルデータは、2025年6月に行われた全国一斉水質調査で荒川流域ネットワークが取りまとめを行った際の一次データです。これは27の参加団体や個人の報告データを集めた資料で、多くの間違いが含まれているものです。

表1はその元データから、地点記号と時間(調査時刻)の2列を抜き出したものの先頭部分です。元データは222行42列のデータです。AIに読み込ませるとき、データが多いと分析に時間がかかってしまいますので、「時刻表記の統一」に必要な「地点記号」列と「時間」列の2列だけを抜き出した「時間データ.xlsx」を使用しました。

表1はその元データから、地点記号と時間(調査時刻)の2列を抜き出したものの先頭部分です。元データは222行42列のデータです。AIに読み込ませるとき、データが多いと分析に時間がかかってしまいますので、「時刻表記の統一」に必要な「地点記号」列と「時間」列の2列だけを抜き出した「時間データ.xlsx」を使用しました。


表1  使用した時刻データ(時間データ.xlsx)の先頭部分

結果の受け取り方法の指示を簡単にするために、あらかじめ「修正済時間」と「修正理由」の2列を追加しておきました。

3.Copilotの起動

Excelに標準搭載されているAIはCopilotです。「表全体の自動生成など」の高度な機能を使わない限り、Microsoft 365 ユーザは追加費用なしに使えるということです(2025年11月現在)。

Copilotが使えるのは、One Drive(Microsoftのクラウド ストレージ)に保存されているExcelファイルの上だけですので、「時間データ.xlsx」ファイルを One Drive 上にコピーしてから使用しました。

Excelで One Drive 上の「時間データ.xlsx」ファイルを読み込み、Copilotを使用するには、Excelの「ホーム」リボン上の「Copilot」ボタンを使います。


図1 Excelの「ホーム」リボン上の「Copilot」ボタン

ここのCopilotには、「チャット」と「アプリ スキル」の2種類がありますが、ここでは「チャット」の方を使いました。「チャット」をはじめると図2のサイドパネルが画面の右端に表示されます。


図2 Copilot サイドパネル

4.Copilotを使った時刻表記の統一

先ほどのサンプルデータ ファイル「時間データ.xlsx」を立ち上げ、Copilotのチャットをはじめて、そのメッセージ入力欄に以下のプロンプト(指示文)を入力しました。

プロンプト

この表の「時間」列には、調査時刻の時分データが書かれています。以下のルールに従って「時間」列データを修正し、正しい値を「修正済時間」列に記入し、修正した場合はどのルールを適用したか(例:5(先頭の0除去)
)を「修正理由」列に書き込んでください。
1. 「11:55」のような「時:分」形式(半角コロン、半角数字)が正しい書式。
2. 全角文字は半角文字にする。
3. セミコロン「;」は半角コロン「:」に変換する。
4. 日付付きデータは「時:分」のみ抽出する(例:2025/6/11 9:55:00 → 9:55)。
5. 先頭の「0」は除く(例:「08:45」→「8:45」)。
6. 修正できない場合は「修正不能」と記載する。

Copilotは入力を受け付けるとしばらく考え込んだ後、以下の回答を返してきました。

Copilot

ご依頼の「時間」列データ修正を、指定された6つのルールに従って実施しました。修正済みデータは「修正済時間」列に、適用したルールは「修正理由」列に記載しています。修正結果は新しいExcelファイルとして保存しました。
修正内容例:
・全角数字や記号を半角に変換(ルール2)
・セミコロン「;」をコロン「:」に変換(ルール3)
・日付付きデータから「時:分」のみ抽出(ルール4)
・先頭の「0」を除去(ルール5)
・正しい書式でない場合は「修正不能」と記載(ルール6)
修正済みファイルはこちらからダウンロードできます:
時間データ_修正版.xlsx
ご要望に応じて、修正内容の詳細や個別データの確認も可能です。何か追加でご希望があればお知らせください。

この回答内の「時間データ_修正版.xlsx」のリンクをクリックすると、修正版のExcelファイルがWindowsの「ダウンロード」フォルダにダウンロードされます。表2はこの修正結果表の抜粋です。全体は222行あります。


表2 Copilotによるデータ修正結果の抜粋

「時:分」形式に変換できなかったのは、地点番号「Ma8」の「9::30」だけでした。コロンを2つ続ける時刻表記は存在しませんから、これは止む得ないでしょう。それ以外はすべて期待通りに変換できました。修正理由欄をみると、1つのルールだけで変換できたものもありますが、2つのルールを適用してやっと変換できたものもあることが分かります。このように修正理由も付けることができる点は、Copilotの優れたところだと言えます。

5.修正内容の分析

表2に登場した修正理由別に該当件数をまとめると表3のようになります。


表3 修正理由別件数

これを見ると「無修正」は129件と約半数で、非常に多くの入力データを修正せざるを得なかったということが分かります。そのうち「日付削除」や「先頭の0除去」と書かれた3項目30件は、文字列ではなくDate型データが使われていたケースで、必ずしも間違いというわけではありませんが、文字列とDate型データが混在すると、大小比較で問題が発生したり、表示が乱れたりします。これらの表記も統一すべきでしょう。

なお、全角文字利用が58件と約3割あり、「コロン」でなく「セミコロン」が使われたケースも7件ありました。これらを人間が目で見分けて修正するのは結構大変です。AIを利用した時刻表記の統一は、極めて有効であると言えるでしょう。

6.プロンプトの作成方法

ここで利用しましたプロンプト(AIへの指示文)は、上で見せましたようにかなり複雑なものです。最初からこのような複雑なプロンプトを与えたわけではありません。最初は以下のような単純なものでした。

最初のプロンプト

この表の「時間」列の値を「11:55」のような「時:分」形式に直してください。

このプロンプトで得られた修正データをみて、修正ミスや修正し足りないところを指摘するということを何回か繰り返して、ようやく望ましい結果が得られるようになりました。そのときに「最初の表からこの結果を得るには、どのようなプロンプトを用意すればよいのか?」とCopilotに聞いたところ、上に引用しましたような箇条書きルール付きのプロンプトを教えてくれました。このようにプロンプトの作成にもAIを活用することができます。

7.むすび

調査データの集計では、しばしば不慣れな人たちによって書かれた多様な表記の時刻データの統一が必要になります。本稿では、この表記の統一にAIを使用した経験を紹介しました。結論的にいえば、十分に精査されたプロンプトを用意すれば、AIを使うことで時刻表記の統一を簡単に行えるといえます。

ただし、AIの場合は同じプロンプトを用いても、毎回同じ結果が得られるわけではありません。本稿で示したように、修正理由を表示させるなど工夫をして、結果の正当性を確認することが重要であると思われます。

補足:Google Gemini を用いた時刻表記の統一

本稿と同じデータを用いた時刻表記の統一を、Google AI StudioのGeminiを使ってやってみました。こちらの方は、「この表の『時間』列の値を『11:55』のような『時:分』形式に直してください。」というプロンプトだけで、「9::30」を「9:30」に直すことも含めて全件を1回で修正してくれました。この時刻表記の統一に関する限りは、GeminiはCopilotより優れているといえそうです。しかし、別のデータチェックでは、途中までは正しくエラーを検出していたのに、その後は誤りだらけという結果になったものもありました。

GeminiはCopilotより人間に近いのかもしれません(人間の中にはサボり勝ちの人もいます)。現時点では、「表記の統一」のような機械的な作業については、Pythonプログラムを生成して、一律に適用するというCopilotの方が安心なのではないかという印象をもっています。ただし、Google Spreadsheet 上で使える Gemini(有償版)はまだ試していませんので、この評価は暫定的なものに過ぎません。

AIを使った調査データの検証

荒川流域ネットワークでは、毎年、20を超える団体や個人の協力を得て、水質調査を行っています。そのとき、これらの団体から調査結果を所定の形式のExcel表で提出してもらい、それらをまとめて水質調査マップを作成するとともに、全国水質調査委員会に報告を行ってきました。

各団体の担当者の中にはパソコンに慣れていない人も多く、日時や数値データを全角文字で入力したり、行を間違えて転記したりなど、誤りと思われるデータも少なくなく、提出されたデータの検証に多大な時間をかけなければなりませんでした。

最近、Excel上でも、CopilotというAIが使えるようになりましたので、それを利用することでこれらのデータ検証作業を軽減できないかどうか試してみました。
(注)2025年1月26日から、Microsoft 365 のユーザであれば、Excel上で
Copilot (Microsoft の AI) が追加料金なしに使えるようになりました。

詳しくは、以下の2つの記事をご覧ください。

これらの経験からみますと、今日のAIはかなり正確に自然言語を理解できるようになっており、ITに慣れていない人でも使いこなせるレベルに達してきていると思われます。データ検証のようにターゲットがはっきりしているものについては、AIを活用することで、労力を大幅に減らすことができそうです。

時系列グラフ付水質調査マップについて

地図に表示された調査地点毎に、2010年~最新年の水質調査結果のグラフを表示するアプリ(Ar-WQ)を開発しました。ここではこのアプリの使い方の概要をご紹介します。このアプリはPCでもスマホでも利用できます。

1.起動方法

ブラウザを立ち上げて、以下のアドレスにアクセスします。

https://app.arakawa-ryuiki.net/wq/

“時系列グラフ付水質調査マップについて” の続きを読む