v10で連結用のアプリ用成分表の作成

更新日 2022/1/24

成分表など食品番号の先頭文字を[g]を[#]に変更する。


更新日 2021/12/8 2021/12/28

2020年版の食品標準成分表からアプリ用成分表に変換する手順です。

アプリ用成分表は食品番号を1列目にする仕様です。

(2019年版以前の注意事項は「v8アプリ用標準成分表の作成」を参照してください)


■標準成分表の入手

文部科学省のホームページよりダウンロード

・2020年版のダウンロードしたファイルには必ずダウンロード日付(+時間)を付けておきます。(更新があってもファイル名が変わらないため成分表が特定できない) 


■Excelで成分表を編集

□表示→ウィンドウ枠の固定▼→ウィンドウ枠の固定解除

□[表全体]以外のシートを削除(1穀類、2いも及びでん紛類~)

□[食品番号]を1列目に移動(列を切り取り→切り取った列を挿入)

先頭行で挿入をして4行作成 [食品番号][単位][桁][version]

□項目名、単位、桁、version を入力。dl20211228_1407_up20211228a(八訂2020年版20211227正誤表)

・炭水化物の本表・別表1・別表2 では、項目名の先頭に carb、poly、fiber、pros、aoac、acid を付けています。

[食品番号]だけはそのままの名前を使用

・[carb版]、[carbダウンロードファイル名]、[carbEOL] を追加

・[版]に値を入力する。八訂2020年版20211227_dl20211228_1407

・[ダウンロードファイル名]はファイル名をコピーして入力しました。

・データ欄も[carb版]、[carbダウンロードファイル名]、[carbEOL] をコピーして入力します。

□他の見出し行は削除

・列の[EOL]は項目がずれていないかの確認などに使用します。作っておくことをお勧めします。


2020年版本表のみ

□A列と1行を再表示する。

□AG列に項目および数値がないので列削除。

□[重量変化率][百ml重量]を挿入。

[百ml重量]はアプリ用成分表を作成したあと、アプリ「値抽出」で自動入力します。

[重量変化率]は2015年版の踏襲で必要性は少ないです。2020年版では「個人の成分表」で[個別重量変化率]を主に使用します。

□[食品群]をコピーして、値を貼り付ける。(式を数値にする)


・各項目の値にはダウンロード日付(+時間)を付けておくことをおすすめします。(更新があってもファイル名が変わらないため成分表が特定できない)



■文字検索→置換

検索で存在しない場合は、置換の必要はありません。これまで入っていると困ったものがあって、念のための文字置換もあります。

(セルが見つかりました) (件の置換を完了しました)

□全角[、]で検索 ( セル)  → 全角[・]で置換 ( 件) 

□全角[,]で検索 ( セル)  → 全角[・]で置換 ( 件) 

□半角[,]で検索 ( セル)  → 全角[・]で置換 ( 件) 

□改行[Ctrl][j]で検索 ( セル)  → 全角[。]で置換 ( 件) 

・注意:[Ctrl][j]は押しても見えません。1回だけ押してください。もし、数回押してしまったら[Delete]と[BackSpace]を何回か押して見えない文字を削除して、改めて1回だけ押してください。あらかじめ検索で個数を確認してみるのも有効です。これまでは、改行はありましたので、この改行は必ず消しておいてください。もし、存在するとcsvの書き出しで1行が複数行になることがあります。特に[備考]にあります。現象としては[備考]の1部分が改行されて、1行以上のデータになる。

□注意:【半角と全角を区別する】にチェックをいれる。

□半角空白[ ]で検索 ( セル)  文字なしで置換 ( 件) 

・全角空白は標準成分表の作成では、そのままです。

□全角[(]で検索 ( セル)  → 半角[(]で置換 ( 件) 

□全角[)]で検索 ( セル)  → 半角[)]で置換 ( 件) 

□全角[;]で検索 ( セル)  → 全角[:]で置換 ( 件) 

□半角[;]で検索 ( セル)  → 全角[:]で置換 ( 件) 

μは全角・半角・コードの違い、ここで置換がよいかも。備考に連続全角空白が入っていることがありました。

・アプリ成分値項目に半角[:]を使用している。備考で元の成分表では全角[:]と半角[:]が混合して使用されている。統一をどうするか保留している。

(全角[:]はそのままですが、今後の仕様で考慮する必要がでてくるかもしれない)

□全角[、]を【半角と全角を区別する】にチェックをいれて全角で置換した後、半角で検索すると本表[備考]で6セル(6件)発生した

・[06013][06047][10195][10212][10239][11242] (4セルは半角と全角が混在していると思われる)


2020年版本表のみ

□備考の小文字[µ]を大文字[µ]に置換 (UTF-8で[cebc])

[16059]備考の[99.9ml]を[99.9mL][100ml]を[100mL]に置換(□大文字と小文字を区別する)

□[12023]備考の[空白文字列]を[。]に置換



■書き出し元データの作成

食品番号に[g]を付ける。

・シートをコピーして追加する。

・CONCATENATEを使う。例…【CONCATENATE("g",表全体!A5)】

・書式設定で枠は標準に設定(して入力欄を「Enter」)する。文字列などになっていると計算されない。

・その他計算されない場合、「F2」を押して「Enter」を押してみる。

・シートをコピーして追加する。[食品番号]の値のみコピーする。



■書き出し・ファイル形式変更・文字種の変換

□「ファイル」「名前を付けて保存」「CSV(カンマ区切り)(*.CSV)」ファイル名を入力して保存する。

ファイルの識別子を .csv から .txt に変更する。メッセージがでるが気にしないで変更。

テキストデータは Shift-jis なので 秀丸エディタなどで UTF-8 に変換し、保存する

CR+LF LF に変更する

テキスト形式(txt)に変更して扱います。CSV形式だと、表計算が起動してしまい、保存すると、食品番号が数字と認識され先頭のゼロ[0]が削除されたり、括弧付き数字がマイナス表示になることがあります。

ファイル名は英数字のみにしておきます。(漢字は使用しないでください)

ファイル名には、変更日付と番号を付けるのをお勧めします。

ファイル名先頭【_file4_】は必須です。

・2020年版のアプリ用成分表には必ずダウンロード日付(+時間)を付けておきます。(更新があってもファイル名が変わらないため成分表が特定できない)

_file4_20_st_2020_dl20211228_1407_up20211228.txt



■アプリに登録

ファイル【_list4_standard.txt】にファイル名を設定します。

shift-JISでファイル書き出しの時、変換できない文字があった場合、【?】と表示されていることがある。変換前の文字を調べて代替文字を入力する。【?】→【μ】(2020/7/6)



■その他

Excelでcsvで保存して、再度編集しようと読み込むと「01234」は「1234」となるので、保存前のxlsxファイルを残しておいて編集しています。これに対し、食品番号は英文字1字を先頭に付けて対応。

・縦の欄を二つ挿入して、一方で【=IF(LEN(D1)=4,CONCATENATE(0,D1),D1】(元データがD1のとき)で計算し、もう一方で数値だけコピーをすれば、4桁の数字の前に0をつけることができました。エクセルはあまりよく知らないので、もっと良い方法があるかもしれません。他の方法 RIGHT("00000"&A1,5)】