[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『XMLをエクセルで読み込むと数字が変わってしまう』(conana)
XMLをExcelで開いて数値を取り出したり、計算するために使用してます。
その中で22桁の番号が入った要素があるのですが、必ず0が消え、途中の数字も変換されてしまうので、なんとかもとの数字を維持させたいのですが、方法はありますでしょうか?
< 使用 Excel:Office365、使用 OS:Windows10 >
野次馬根性でお聞きします。
XMLファイルの中身はどんな風になっているんですか? 数字なら、STRING属性を持っているハズと思うのですが。 そうじゃないと再現できなくなります。
どなたが作ったファイルなんですか? なぜ22桁と分かっているんですか?
(半平太) 2020/10/27(火) 17:03
コメントありがとうございます。
XMLファイルはインターネット上で公開されているものをDLしてくるもので、社内で作ったものではありません。
タグ名 データ要素名 説明
JP0XX00 〇〇番号 (22)桁
みたいな感じでタグ名や桁数等は事前にわかっていて、DLしたデータをIEやOfficeXMLhandlerで開けばきちんと表示されます。
ただ、計算するための数値を取り出すためにはエクセルで扱いたく、エクセルで数字が変わらず読み込める方法が思いつきません。
(conana) 2020/10/27(火) 17:31
現象再現できる様なファイルの中身を提示いただかないと ちょっと私はお役に立てないです。
アイデアとしては、文字の置換でTagに文字属性を追加してから読み込んだらどうか、 と言うことなんですけども。
つまり、こんな形にできないかと・・ <Data ss:Type="String">001234</Data> <Data ss:Type="Number">125</Data>
(半平太) 2020/10/27(火) 19:28
セルは15桁まで、それを超えると指数表現になって、
頭から16桁以下は0表示です。
VBAでも
Long型 で 10桁( 〜 2,147,483,647 )
LongLong型 19桁( 〜 9,223,372,036,854,775,807 )
> 計算するための数値を取り出すために
「文字列」として数字を読み込んで、
巨大桁整数の演算を行なうユーザー定義関数を通して、
結果も「文字列の数字」として受け取る。
ネットを検索すればありますよ。
(AddinBox 角田) 2020/10/27(火) 21:50
ありがとうございました。
(conana) 2020/10/29(木) 15:24
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.