Excel之PowerQuery 處理不標(biāo)準(zhǔn)數(shù)值
網(wǎng)友提問:

這個(gè).......千位分隔符不是自己手敲出來的......在Excel單元格設(shè)置中使用千位分隔符,它還是數(shù)字,自己手寫變成字符串了........

回答網(wǎng)友問題,我自己做了一個(gè)表

1、導(dǎo)入PowerQuery

2、插入步驟修改列
函數(shù)詳見筆記


這個(gè)下劃線代表數(shù)值列每一行的數(shù)據(jù),只要修改他就行了。
3、找一個(gè)數(shù)做測(cè)試
假設(shè):"128,192,19.18"? ? 想將他改成:12819219.18
由于字符串里有逗號(hào)和小數(shù)點(diǎn),所以我們用多字符分組


我們只需要在列表最后一個(gè)元素之前插入小數(shù)點(diǎn)

第一參數(shù)是列表,我們已經(jīng)有了,第三參數(shù)是小數(shù)點(diǎn),我們可以寫成{"."}
第二參數(shù)是在哪個(gè)下標(biāo)插入,我們只需要計(jì)算列表元素總個(gè)數(shù)-1? 就是插入小數(shù)點(diǎn)的位置
可以寫成:List.Count(Text.SplitAny("128,192,19.18",".,"))-1
現(xiàn)在將上面的三個(gè)參數(shù)寫到List.InsertRange函數(shù)中:

最后,我們使用Text.Combine函數(shù)將列表合并成字符串

這不就成功了嗎?

剛才第二步,我們知道了下劃線代表每個(gè)字符,那我們把"128,192,19.18"改成下劃線放到第二步的公式中就完成了。
= Text.Combine(List.InsertRange(Text.SplitAny(_,".,"), List.Count(Text.SplitAny(_,".,"))-1, {"."}))
放到
= Table.TransformColumns(更改的類型,{"數(shù)值",each? _? })
替換其中的下劃線
變成:

以上都是分析過程,其實(shí)就是新添加一個(gè)步驟,寫一行代碼
再啰嗦一下,可以通過字段名那里改數(shù)據(jù)類型,也可以在公式中實(shí)現(xiàn)

這個(gè)我們也講過:

你們換個(gè)思路再想想,應(yīng)該有更好的方法,我這鍋里的羊蝎子快燉好了,馬上開飯,就隨意想出來一個(gè)方法。
還是那句話,需要至少看一遍PowerQuery合集才能知道有什么函數(shù),知道有什么函數(shù)我們才能在筆記上找到。

PowerQuery合集:https://www.bilibili.com/video/BV1oa4y1j75e
更多教程:https://www.bilibili.com/read/cv10222110