シフト表のデータ化

シフト表の画像をAIで表に起こす精度検証

手書き風で読めないマス・空欄を推測せず返すか

結論(先に)架空のシフト表2枚(5人×7日の印字1枚、手書き風フォントで1マスを黒く塗りつぶし・1マスを空欄にした1枚)を、答えを知らないAIに表へ起こさせました。Opus 5.5とHaiku 4.5のどちらも、読めるマスの勤務時間帯の取り違えは0件で、塗りつぶしたマスは「読めない」、空欄のマスは「空欄」と返し、推測で埋めませんでした。ただし各1回・きれいな画像での結果です。

シフト表を写真で受け取り、人ごと・日ごとの勤務時間を台帳や表計算に写す作業は、店舗や施設で毎週発生します。AIに任せるときに困るのは、読めないマスや空欄をAIが推測で埋めてしまうことです。埋められた時間は、そのまま人手の配置ミスになります。そこで、読めないマスと空欄を仕込んだシフト表を、答えを知らないAIに読ませて確かめました。

検証方法

当社で架空のシフト表を2枚作成しました。店名・氏名・時間はすべて架空で、実在の店舗・人物とは関係ありません。どちらも5人×7日の35マスで、時間は「開始-終了」の24時間表記、休みは「休」です。

  • サンプル1(印字):読めないマス・空欄は無い。
  • サンプル2(手書き風フォント):マスごとに文字を傾けた。佐藤さんの金曜は開始時刻の部分を黒く塗りつぶし、「-22」の一部しか見えない状態にした。伊藤さんの水曜は空欄にした。残りの33マスはサンプル1と同じ内容。
架空のシフト表(印字・5人×7日)
サンプル1:印字(架空)
架空のシフト表(手書き風フォント・1マス塗りつぶし・1マス空欄)
サンプル2:手書き風フォント(架空・佐藤さん金曜を塗りつぶし、伊藤さん水曜は空欄)

答えを知らないClaude(Opus 5.5・Haiku 4.5)に、下のプロンプトと、画像を開く手順の指示だけを渡し、画像1枚ずつを別々に読み取らせました(各1回)。塗りつぶしと空欄があることは伝えていません。正解表と、35マスを1マスずつ照合しました。

結果:勤務時間帯の転記と、読めないマス・空欄の扱い

条件勤務時間帯の転記読めないマス・空欄の扱い
Opus 5.5・印字35 / 35マス正確読めないマス・空欄はなしと回答(正しい)
Haiku 4.5・印字35 / 35マス正確読めないマス・空欄はなしと回答(正しい)
Opus 5.5・手書き風読めるはずの33マスは33 / 33正確佐藤・金曜を「読めない」、伊藤・水曜を「空欄」と回答(正しい)。休みか書き忘れかは画像から分からないと添え、作成者への確認を勧めた
Haiku 4.5・手書き風読めるはずの33マスは33 / 33正確佐藤・金曜を「読めない」、伊藤・水曜を「空欄」と回答(正しい)。佐藤・金曜は「●22」のような記号に見えると備考に書いた

読めないマス・空欄に対するAIの回答の原文(手書き風の表)

正解表で「読めない」「空欄」が正解のマスについて、保存した回答の原文から実例を抜き出しました(各条件1回)。

マスモデル回答の原文
佐藤さん・金曜16日(開始時刻を黒く塗りつぶし)Opus 5.5表は「読めない」。「開始時刻の部分が黒いインクのしみで隠れています。見えるのは終わりの「22」だけなので、開始時刻は書いていません。」
同上Haiku 4.5表は「読めない」。備考に「「●22」のような記号に見えます」
伊藤さん・水曜14日(空欄)Opus 5.5表は「空欄」。「休みなのか書き忘れなのかは、画像からは分かりません。」と書き、作成者に確かめるよう勧めた
同上Haiku 4.5表は「空欄」。備考に「伊藤の水14日のセルは空欄です」
文章の日付Opus 5.5表は正しいが、説明文に「伊藤さんの水曜16日ではなく14日は「空欄」にしました。」という書き間違いが混ざった

わかったこと

  • 読めるマスの転記は、4回とも誤りが0件だった。印字は35マス、手書き風は読めるはずの33マスを、2モデルとも取り違えませんでした。
  • 塗りつぶしたマスと空欄のマスは、2モデルとも推測で埋めなかった。佐藤さんの金曜は、終了時刻の「22」が見えていても開始時刻を書かず「読めない」と返しました。伊藤さんの水曜は「空欄」と返しました。
  • この結果は、指示で「推測で埋めず」と書いた条件のものです。この一文を外した場合にどうなるかは試していません。
  • Opus 5.5は、空欄が休みか書き忘れかは画像から分からないと書き添えた。伊藤さんの水曜について、その旨を書き、佐藤さんの金曜の開始時刻とあわせて、作成者に確かめるよう勧めました。ただし回答の説明文には、伊藤さんの水曜を「水曜16日ではなく14日」と書き直すような言い回しがあり、表は正しいものの、文章に日付の書き間違いが混ざっていました。

シフト表の読み取りプロンプト

添付したシフト表の画像を、人ごと・日ごとの勤務時間帯の表に起こしてください。読めないマスや空欄のマスは、推測で埋めず、「読めない」「空欄」と書いてください。

使うときのコツ

  • 「読めない」「空欄」と書かせる。この検証で2モデルが推測で埋めなかったのは、この一文を添えた条件です。空欄を埋めないよう先に指示しておくと、確認が必要なマスが表の中で分かります。
  • 読めない・空欄のマスは、作成者に確かめてから確定する。空欄が休みなのか書き忘れなのかは、画像だけでは決められません。
  • 勤務時間の合計や人数の過不足は、別の手順で確かめる。この検証で確かめたのは、マスの転記だけです。時間帯ごとの人数の過不足や労働時間の合計は対象外です。
この検証の範囲:架空のシフト表2枚(5人×7日)、上のプロンプトだけの1条件、各モデル1回ずつの結果です。手書き風は手書き風フォントで作った画像で、実際の手書きの崩れ・にじみ・消し跡・撮影の傾きや影は含みません。塗りつぶしは、画像にする前に黒い図形を重ねて作ったものです。同じ条件で繰り返すと結果が変わることがあり、精度を保証する数字ではありません。ChatGPT・Gemini・Sonnetでは試していません。回答の原文と採点はすべて保存しています。

まとめ

シフト表の転記は、この検証ではOpus 5.5・Haiku 4.5のどちらも、読めるマスを1件も取り違えず、読めないマスと空欄を推測で埋めませんでした。きれいな画像で、読めない・空欄と書くよう指示した条件での結果です。実際の手書きのシフト表や、撮影した画像で同じ結果になるかは確かめていません。

よくある質問

シフト表の画像をAIに読ませると、勤務時間を取り違えませんか。

この検証では、架空の5人×7日(35マス)のシフト表を印字と手書き風の2枚で試し、Opus 5.5とHaiku 4.5のどちらも、読めるマスの勤務時間帯を1件も取り違えませんでした。ただし各条件1回の結果で、きれいな画像での検証です。

読めないマスや空欄を、AIは推測で埋めますか。

この検証では、埋めませんでした。手書き風の表で黒く塗りつぶして開始時刻を隠したマスは、2モデルとも「読めない」と返し、空欄のマスは「空欄」と返しました。この結果は、プロンプトで「推測で埋めず、「読めない」「空欄」と書いてください」と指示した条件のものです。

このシフト表は実在の店のものですか。

いいえ。店名・氏名・時間はすべて当社が作成した架空のデータで、実在の店舗・人物とは関係ありません。

シフト表の空欄は、AIの回答では「休み」と同じ扱いになりますか?

当社の検証では、同じ扱いになりませんでした。休みのマスは「休」、何も書かれていないマスは「空欄」と、2モデルとも別の値で返しました。Opus 5.5は、空欄が休みか書き忘れかは画像から分からないと書き添え、シフト表を作った人に確かめるよう勧めました。

AIの回答の説明文にも間違いが混ざることはありますか?

当社の検証では、Opus 5.5の手書き風の表で1件ありました。表の中身は正しいのに、説明文に「伊藤さんの水曜16日ではなく14日」という日付の書き間違いが入っていました。表だけでなく説明文の日付や数字も、元の画像と照らし合わせてください。

このページについて
合同会社フューチャープロンプト(AIプロダクト開発・業務自動化/東京・渋谷)がまとめました。AIの検証は2026年9月29日に行いました。検証の進め方は実測の進め方、方針は検証・編集・AI利用方針をご覧ください。

シフト・勤怠の書類のデータ化と確認の仕組みづくりのご相談

シフト表や勤怠の書類のデータ化を、どこまでAIに任せ、どこを人の確認で補うかの設計をご相談いただけます。

お問い合わせ →