Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(Windows 10全般 : Microsoft 365)
文字列設定列の数字を0始まりの7桁に揃えたいが、ユーザー定義が効かない
投稿日時: 24/02/16 19:39:54
投稿者: Myon

csvファイルから取り込んだデータ。取り込む段階で設定を文字列にしている数字を0始まりの7桁に揃えたいが、ユーザー定義で0000000とするも、全く効かないです。
どんなに調べても「ユーザー定義で〜すればOK]としか見つかりません。
元のcsvファイルは外部からDLしたきたデータなので、元の設定は分かりませんが、A列には0始まりの数字と0が欠落している数字(2桁から7桁までいろいろ混在)が並んでおり、Excelにインポートする段階で文字列に設定しました。
情報足りなければ早急にお返しますので、どうぞ助けてください。

回答
投稿日時: 24/02/16 21:57:30
投稿者: んなっと

 [データ]
→[テキストまたはCSVから]
→選択して [開く]
→[データの変換]
→PowerQueryが開いたら[詳細エディター]
 
例えば下のようになっていたとします。
 
let
    ソース = _____________ ,
    昇格されたヘッダー数 = _____________ ,
    変更された型 = _____________
in
    変更された型
 
 
●最初の1列だけ0を追加する場合
 
let
    ソース = _____________ ,
    昇格されたヘッダー数 = _____________ ,
    変更された型 = Table.TransformColumns(昇格されたヘッダー数,
   {Table.ColumnNames(昇格されたヘッダー数){0},
    each Text.PadStart(_, 7, "0"), type text})
in
    変更された型

 
●最初の2列だけ0を追加する場合
 
let
    ソース = _____________ ,
    昇格されたヘッダー数 = _____________ ,
    変更された型 = Table.TransformColumns(昇格されたヘッダー数, List.Transform(
        List.FirstN(Table.ColumnNames(昇格されたヘッダー数),2),
    each {_,(s)=> Text.PadStart(s, 7, "0"), type text}))
in
    変更された型

投稿日時: 24/02/16 23:17:52
投稿者: Myon

んなっと様、
早速のご教示ありがとうございます。
時間外に職場のデータにアクセスすることが禁じられているため、来週月曜日に検証してみます。
そもそも Power queryの意味が分からず怖くて避けており、レガシででインポートしていたのですが、勇気と興味が湧いてきました。重ねてありがとうございます。

回答
投稿日時: 24/02/16 23:41:39
投稿者: んなっと

文字列としてではなく、数値として読み込めば
表示形式で0から始まる見た目にすることができます。
 
別の列に数式を入れて0から始まる文字列に加工する方法もあります。

トピックに返信