BOMありのUTF-8をBOMなしのUTF-8に変換する、逆にBOMなしのUTF-8をBOMありのUTF-8に変換する

文字化けの原因は、意外と“UTF-8の違い”にあるかもしれません。
また、UTF-8で入力するのが標準なアプリなのに、読み込めないという問題も“UTF-8の違い”にあるかもしれません。

日本でパソコンが広く使われ始めたころ、日本語の文字コードとしてよく使われていたのは「シフトJIS(Shift_JIS)」でした。そのため、現在でもシフトJIS形式のファイルを標準として扱うアプリケーションは少なくありません。

一方で、最近では「UTF-8」を標準の文字コードとして使う流れがますます強くなっています。Webサイト、クラウドサービス、各種システム連携などでは、UTF-8のファイルを扱う場面がかなり増えてきました。

ところが、UTF-8のファイルが増えたことで、別のややこしい問題も出てきています。

それが「BOMあり」と「BOMなし」の違いです。「BOMあり」は「BOM付き」とも呼ばれます。

どちらもUTF-8であることに変わりはないのですが、ファイルの先頭に「BOM」と呼ばれる目印が付いているかどうかで形式が分かれます。そして、アプリケーションによっては「BOMありのUTF-8でないと読み込めない」、反対に「BOMなしのUTF-8でないと正しく扱えない」ということがあります。

つまり、同じUTF-8のファイルであっても、使うアプリやシステムによっては、BOMあり・BOMなしを変換する必要が出てくるのです。

今回の記事では、Pythonを使って、BOMありのUTF-8ファイルをBOMなしのUTF-8に変換する方法、またその逆に、BOMなしのUTF-8ファイルをBOMありのUTF-8に変換する方法を考えてみます。


xoBlos環境で、UTF-8 BOMのあり/なしを変換するツールを作成するなら、以前掲載した、下記の記事で紹介したPythonスクリプトが手軽そうです。

xoBlosからPythonを実行 (6):文字コード変換スクリプトの改良版
https://xoblos.hatenablog.jp/entry/2026/04/21/041655

PCにPythonのインストールは必要となりますが、以下のようなコマンドラインをxoBlosで指定して、使用できます。utf-8-sig という指定が、BOMありとなります。

BOMありUTF-8を、BOMなしUTF-8に変換
%ComSpec%
/c python SCRIPT\change_encoding.py INPUT\in.json OUTPUT\out.json utf-8-sig utf-8

BOMなしUTF-8を、BOMありUTF-8に変換
%ComSpec%
/c python SCRIPT\change_encoding.py INPUT\in.json OUTPUT\out.json utf-8 utf-8-sig

【バージョン1.8以降】当月(XMLから)と一緒に前月、翌月も求める

【バージョン1.8以降】「作業変数へセット(XMLファイルから)」手順
https://xoblos.hatenablog.jp/entry/2026/06/28/095605

上記記事の続きですが、当月を作業変数へセットするときに、当月の値から前月翌月も求めて、別の作業変数へセットするサンプルです。

当月は [b.位置の指定] のみで指定 //当月 

前月は [a.値の編集 Excel式] で求める

[a.値の編集 Excel式]

TEXT(EDATE(DATE(LEFT(A1,4),RIGHT(A1,2),1),-1),"yyyymm")

 

翌月は [a.値の編集 Excel式] で求める

[a.値の編集 Excel式]

TEXT(EDATE(DATE(LEFT(A1,4),RIGHT(A1,2),1),1),"yyyymm")

 

セル A1 には、//当月 で取得した "202601" が入っています。

Excel数式・関数のポイントは、いったん "202601" を 2026/01/01 の日付に変換してから、EDATE で月をずらし、最後に TEXT(...,"yyyymm") で文字列に戻す形です。

 

【バージョン1.8以降】「作業変数へセット(XMLファイルから)」手順

バージョン1.8以降でサポートされた「作業変数へセット(XMLファイルから)」手順のサンプルです。

抽出データ(XMLファイル)として、当月(yyyymm形式)を抽出しているとします。この例では、Excelシートのシート名から当月を抽出しています。

入力Excelシート

「Excel表から抽出」手順の設定

抽出用制御シート(%SheetName でシート名を抽出)

当月がXMLデータとして抽出された結果

「作業変数へセット(XMLファイルから)」手順の設定

[新しい手順]-[作業変数へセット]-[XMLファイルから] で作成した手順で設定します。

実行後の作業変数へのセット結果

後続手順で、$(tmp:当月) の形式で作業変数として使用できます。

⇒ 作業変数の使い方

 

次回の記事では、当月をセットするときに、前月と翌月も計算してセットするサンプルを載せます。

属人性を活かすDX提案

生成AIへのプロンプト例:
都度発生した業務要件を実現するために、機能のつぎはぎが繰り返され、複雑化・老朽化したシステムの 刷新やDX推進を計画するときに、必ず浮上するキーワードに「属人化」を排するというお題目があります。
「属人性」の持つマイナス面だけを見るのではなく、逆に「属人性」が持つ個の力や、チームワークとしての 相互信頼などのプラス面を生かしたシステム提案を行ってください。「属人化」の代表と言われやすいExcel業務を、特に重点的に分析した提案にしてください。
 
生成AI回答例:
もちろんです。
「属人化をなくす」ではなく、属人性を“見える化・再利用・継承可能な知”に変換するという方向で提案します。Excel業務は単なる悪者ではなく、現場知が最も濃く蓄積された“業務OS”として扱うのが肝です。
 
 
 
 
 

属人性を活かすDX提案

― Excel業務を「現場知の資産」として再設計するシステム刷新構想 ―

1. 提案の基本思想

老朽化した業務システムや、つぎはぎで複雑化した業務プロセスを刷新するとき、しばしば「属人化の排除」が掲げられる。

しかし、現場における属人性には二つの側面がある。

一つは、担当者しか処理できない、引き継げない、ブラックボックス化しているというマイナス面である。
もう一つは、担当者が長年の経験から身につけた判断力、例外対応力、顧客理解、チーム内の信頼関係といったプラス面である。

本提案では、属人性を単純に排除するのではなく、次のように再定義する。

属人性とは、現場の個人に蓄積された暗黙知であり、適切に構造化すれば、組織全体の競争力に転換できる知的資産である。

したがって目指すべきは、
「属人化の排除」ではなく、「属人性の資産化」である。

2. Excel業務をどう見るか

DX推進の現場では、Excel業務はしばしば属人化の代表例として扱われる。

たとえば、次のような問題がある。

  • 特定担当者しか数式やマクロの意味を理解していない
  • ファイルが複数存在し、最新版が分からない
  • 入力ルールが暗黙的で、誤入力が発生しやすい
  • 業務判断がセルの色、コメント、シート構成、慣習に埋め込まれている
  • システム化されていない例外処理がExcel上で吸収されている

しかし、ここで重要なのは、Excelが悪いのではないという点である。

Excelは、現場担当者が自分たちの業務に合わせて、素早く改善し、試行錯誤し、運用してきた結果である。
つまりExcelには、正式な業務マニュアルや基幹システムには表れない、現場の判断ロジックが詰まっている。

Excel業務は、単なる非効率の温床ではなく、
現場知・業務ルール・例外処理・担当者間の信頼関係が凝縮されたプロトタイプ資産である。

3. 目指すシステム像

本提案で目指すシステムは、Excelを一気に廃止するシステムではない。

目指すのは、Excelに蓄積された現場知を分析し、以下の三層に分けて再設計することである。

第1層:標準化すべき業務

誰が担当しても同じ結果になるべき処理である。

例:

  • 定型入力
  • マスタ参照
  • 集計
  • 承認フロー
  • 帳票出力
  • データ連携

これらはシステム化・自動化の対象とする。

第2層:判断支援すべき業務

完全自動化は難しいが、判断材料を整理すれば担当者の経験差を縮められる業務である。

例:

  • 異常値チェック
  • 顧客別の例外条件判定
  • 見積条件の確認
  • 納期調整
  • リスク判定

これらは、AI、ルールエンジン、チェックリスト、ダッシュボードにより支援する。

第3層:人間の裁量として残すべき業務

担当者の経験、顧客との関係、チーム内の信頼、状況判断が価値を持つ業務である。

例:

  • 顧客との交渉
  • 例外対応の最終判断
  • 現場の優先順位調整
  • トラブル時の判断
  • 新しい業務パターンの発見

これらは無理に自動化せず、むしろ人間の強みとして残す。

この三層分離により、
機械に任せる部分、人を支援する部分、人が価値を発揮する部分を明確にする。

4. Excel業務分析の進め方

Excel業務を刷新する際には、単にファイルを棚卸しするだけでは不十分である。
重要なのは、Excelの中に埋め込まれている業務知識を読み解くことである。

分析観点は以下の通りである。

4.1 データ構造の分析

  • どのシートが入力用か
  • どのシートが計算用か
  • どのシートが出力用か
  • マスタ情報はどこにあるか
  • 同じ項目が複数箇所に存在していないか

これにより、業務データの正規化やデータベース化の候補を抽出する。

4.2 数式・マクロの分析

  • 業務ルールが数式に埋め込まれていないか
  • IF文が多用されている箇所はどこか
  • 手作業を前提としたマクロがないか
  • エラーを回避するための暫定処理がないか

数式やマクロは、業務ルールの宝庫である。
特に複雑なIF文やVLOOKUP、条件付き書式には、現場判断の痕跡が残っている。

4.3 手作業の分析

  • コピー&ペーストしている箇所
  • 色で管理している箇所
  • コメントで注意書きしている箇所
  • ファイル名で版管理している箇所
  • メール添付で受け渡している箇所

これらは、システム化すべきワークフローや承認履歴の候補である。

4.4 例外処理の分析

Excel業務で最も価値があるのは、例外処理である。

  • なぜ標準処理では対応できないのか
  • 誰が例外判断をしているのか
  • 判断基準は明文化できるのか
  • 例外は本当に例外なのか、頻出パターンなのか

この分析により、属人的判断を単なるブラックボックスではなく、組織知として整理できる。

5. 提案するシステム構成

本提案では、以下のような構成を推奨する。

5.1 Excel資産分析基盤

既存Excelファイルを収集し、以下を自動解析する。

  • シート構成
  • セル参照関係
  • 数式
  • マクロ
  • 入力項目
  • 出力帳票
  • 外部ファイル連携
  • 更新頻度
  • 利用者

これにより、Excel業務の全体像を可視化する。

5.2 業務ルール管理基盤

Excel内に散在している判断条件や計算ロジックを、業務ルールとして整理する。

例:

ルール種別 内容
入力チェック 必須項目、形式、範囲
計算ルール 金額計算、割引、税率、手数料
判定ルール 承認要否、例外条件、リスク区分
出力ルール 帳票形式、送付先、締切

ここで重要なのは、現場担当者がルールを確認・修正できる仕組みにすることである。
システム部門だけが変更できる形にすると、結局またExcelに戻ってしまう。

5.3 人間中心のワークフロー

すべてを自動化するのではなく、人間の判断が必要な箇所を明示する。

  • 自動処理できるものは自動化
  • 判断が必要なものは担当者に提示
  • 判断結果は履歴として保存
  • 類似ケースが再発したら過去判断を参照
  • 判断理由を簡単に残せる

この仕組みにより、経験者の判断が組織内で再利用可能になる。

5.4 チームナレッジ機能

属人性のプラス面である「相互信頼」を活かすため、担当者間の知識共有をシステムに組み込む。

機能例:

  • このケースは誰に相談すべきかを提示
  • 過去に似た処理をした担当者を表示
  • 判断コメントを蓄積
  • レビュー履歴を残す
  • 暗黙の申し送りを記録する
  • 新人がベテランの判断プロセスを追える

これにより、属人性を個人に閉じ込めず、チームの知恵として循環させる。

5.5 Excel共存・移行機能

Excelを即時廃止するのではなく、段階的に移行する。

  • 既存Excelのアップロード
  • システム側でデータ検証
  • Excel帳票の自動生成
  • Excelライクな入力画面
  • 既存フォーマットとの互換性維持
  • 移行期間中のExcel連携

Excelを敵に回さず、現場が安心して移行できる導線を設計する。

6. 「属人化排除」から「属人性活用」への転換

従来型の刷新プロジェクトでは、属人化をなくすために業務を標準化しようとする。
しかし、現場の複雑な業務を一気に標準化しようとすると、次の問題が起きる。

  • 実態に合わない標準プロセスが作られる
  • 現場がシステムを使わなくなる
  • 例外処理がシステム外に逃げる
  • 新たなExcel管理が発生する
  • 結局、隠れ属人化が再発する

そのため、本提案では以下の方針を取る。

従来の考え方 本提案の考え方
属人化をなくす 属人性を資産化する
Excelを廃止する Excelから現場知を抽出する
標準化を優先する 標準化・支援・裁量を分ける
人の判断を減らす 人の判断を見える化する
システムに業務を合わせる 業務知をシステムに取り込む

7. 導入ステップ

Step 1:Excel業務の棚卸し

部門ごとに利用中のExcelを収集し、用途、利用者、更新頻度、重要度を整理する。

Step 2:重要Excelの深掘り分析

業務影響度の高いExcelについて、数式、マクロ、手作業、例外処理を分析する。

Step 3:業務ルールの抽出

Excelに埋め込まれた判断条件、計算条件、入力制約を業務ルールとして整理する。

Step 4:属人判断の分類

担当者の判断を、次の三つに分類する。

  • 標準化できる判断
  • システムが支援すべき判断
  • 人間の裁量として残す判断

Step 5:プロトタイプ構築

既存Excelの一部を対象に、入力画面、ルール管理、ワークフロー、履歴管理を備えたプロトタイプを作る。

Step 6:現場レビュー

現場担当者に利用してもらい、Excelと比べて何が便利で、何が不足しているかを確認する。

Step 7:段階移行

一括移行ではなく、業務単位・帳票単位・ルール単位で段階的に移行する。

8. 期待効果

本提案により、以下の効果が期待できる。

8.1 業務継続性の向上

特定担当者が不在でも、業務ルール、判断履歴、過去事例を参照できるため、業務停止リスクが下がる。

8.2 現場知の継承

ベテラン担当者の判断や工夫を、若手や他メンバーが学習できる。

8.3 DXへの現場納得感

Excelを否定せず、現場の工夫を尊重するため、システム刷新への抵抗感が小さくなる。

8.4 隠れExcelの再発防止

現場がルール変更や例外対応をシステム内で扱えるため、再び個別Excelが増殖するリスクを抑えられる。

8.5 チームワークの強化

個人の知識をチームで共有し、相談・レビュー・判断履歴を残すことで、相互信頼をシステム上に反映できる。

9. 提案の結論

システム刷新やDX推進において、本当に排除すべきなのは属人性そのものではない。

排除すべきなのは、
属人性が見えないこと、共有できないこと、継承できないことである。

Excel業務は、その問題が最も表面化しやすい領域であると同時に、現場知が最も豊かに蓄積された領域でもある。

したがって、Excel業務を単に廃止対象と見るのではなく、
現場の暗黙知を抽出し、業務ルール・判断履歴・チームナレッジへ変換するための入口として活用すべきである。

本提案の核心は、次の一文に集約される。

属人化をなくすDXではなく、属人性を組織の力に変えるDXへ。

これにより、標準化と個の力、効率化と信頼関係、システム化と人間らしい判断を両立する、現場に根づくDXを実現する。

 


この方向性なら、かなり強い提案になります。
特に「Excel=悪」ではなく、Excel=現場が自力で作った業務プロトタイプと位置づけるところが肝です。ここを押さえると、経営層にも現場にも刺さりやすいです。

 

16~17世紀イングランド:ウィリアム・シェイクスピアとフランシス・ベーコンの時代

サッカーのワールドカップもたけなわですが、日本はもちろん、ブラジルやイングランドも応援している筆者にとって、今回の記事では「イングランド」をテーマにし、16~17世紀イングランドの二人の知の巨人に関して、生成AIにイラストとその解説を生成させてみました。


同じ時代のイングランドに生きた、ウィリアム・シェイクスピアフランシス・ベーコン

一人は劇場で人間の欲望、権力、愛、運命を描き、もう一人は法、政治、経験主義哲学、実験科学を通して「知」の方法を組み替えようとした。

このイラストでは、二人を単なる肖像ではなく、近代の入口に立つ二つの知性として描いています。

左には演劇、文学、仮面、グローブ座。
右には法律、議会、王権、科学器具、実験と観察。
中央には、言葉と知識が交差する書物と机。

シェイクスピアの舞台は、人間社会を映す鏡。
ベーコンの思想は、自然を読み解くための方法。

文学と科学、演劇と政治、想像力と経験。
一見別々に見える世界が、同じ時代の空気の中で響き合っていた――
そんな「知の交差点」としての16~17世紀イングランドを、一枚の舞台に融合しました。

歴史は、書物の中だけでなく、
劇場にも、法廷にも、実験室にも、王宮にも息づいている。

座右の銘:縦軸、横軸、その交差が命

縦軸、横軸、その交差が命

xoBlos(ゾブロス) や ExcelRDB(関係データベース)では重要な 「縦軸」「横軸」「交差」を、座右の銘にいれてみました。

参考ブログ記事

表におけるクロスポイント
https://xoblos.hatenablog.jp/entry/2026/01/26/140700

五十音表(ひらがな)
https://xoblos.hatenablog.jp/entry/2026/02/23/121409

メンデレーエフの周期律表(1869年)
https://xoblos.hatenablog.jp/entry/2020/08/24/002049

関係データベース(リレーショナルデータベース)と表(table)
https://xoblos.hatenablog.jp/entry/2021/01/17/184800

制御ブック/制御シート/ひな形シート

制御ブック

制御シートを入れたExcelブック。

制御シート

抽出用制御シート

「Excel表から抽出」手順で使用する、抽出処理を記述したExcelシート。

生成用制御シート

「Excel表を生成」手順で使用する、生成処理を記述したExcelシート。

ひな形シート

「Excel表を生成」手順で使用する、生成結果のテンプレート(ひな形)となるExcelシート。 

新規ブック生成法

ひな形シートを、生成用制御シートを入れた制御ブックに入れて、新規にブックを生成する手法。

出力「ファイル名」で指定した出力ブックが存在しないときは、新規ブック/新規シート生成となります。

指定した出力ブックが既に存在する場合は、その既存ブックへのシート作成となりますので、厳密には新規ブック生成ではない(既存ブックへの生成である)ことにご留意ください。あくまでも、2つの手法を説明するためのネーミングとお考えください。

既存ブック生成法

ひな形シートを、生成先のExcelブックのシートとする手法。

Designer:既存ブック、シートに生成する
https://xoblos.hatenablog.jp/entry/2020/09/20/182747

制御シートキーワード:ひな形シート非表示
https://xoblos.hatenablog.jp/entry/2026/05/14/060001