在excel中如何將科學計數法轉換為正常手寫的模式?其中資料量比較大,且找不到其中規律,請問如何操作?

時間 2021-06-02 02:06:35

1樓:GreatPie

我不知道你的數字是不是很規律性, 如果是很規律性的, 比如你圖上的那種。。。其實吧你可以全選替換

至於公式化一次性的辦法,也有, 就是有點麻煩,我最快能想到的辦法是用unichar,自行拼出這個字串

至於你怎麼從你的資料裡提取出 2.10 , -37 這些元素,然後指導excel公式怎麼去拼出 「-」 +「3」 +「7」,這個相信你會,我就不贅述了,稍微有點麻煩, 也不是太難

好吧, 我承認這個拼數字難度還是不小的, 核心是unichar那邊並不怎麼連續,逼得我們把公式弄複雜了,其實你有心拆解一下這個公式,會發現純粹是一些重複的分支而已, 核心思想很簡單,看起來複雜而已。

假設你的源資料在D2

那麼到E2單元格鍵入如下公式, 按 CTRL SHIFT ENTER

然後把公式拖下來

D2:=IFERROR(CONCAT(TEXT(ROUND(D2/10^FLOOR(LOG(D2,10),1),2),"0.00")," ",UNICHAR(215)," 10",IF(SIGN(FLOOR(LOG(D2,10),1))>=0,UNICHAR(8314),UNICHAR(8315)),IF(MID(TEXT(ABS(FLOOR(LOG(D2,10),1)),"@"),ROW(INDIRECT("A1:

A"&LEN(TEXT(ABS(FLOOR(LOG(D2,10),1)),"@")))),1)="0", UNICHAR(8304),IF(MID(TEXT(ABS(FLOOR(LOG(D2,10),1)),"@"),ROW(INDIRECT("A1:A"&LEN(TEXT(ABS(FLOOR(LOG(D2,10),1)),"@")))),1)>="4",UNICHAR(8304+MID(TEXT(ABS(FLOOR(LOG(D2,10),1)),"@"),ROW(INDIRECT("A1:A"&LEN(TEXT(ABS(FLOOR(LOG(D2,10),1)),"@")))),1)),IF(MID(TEXT(ABS(FLOOR(LOG(D2,10),1)),"@"),ROW(INDIRECT("A1:

A"&LEN(TEXT(ABS(FLOOR(LOG(D2,10),1)),"@")))),1)="1",UNICHAR(185),UNICHAR(176+MID(TEXT(ABS(FLOOR(LOG(D2,10),1)),"@"),ROW(INDIRECT("A1:A"&LEN(TEXT(ABS(FLOOR(LOG(D2,10),1)),"@")))),1)))))),0)

祝你好運。。希望你能通過這個公式學到Excel陣列公式的奧義

BTW,這個公式用到了concat, 僅對Excel2016之後版本有效

BTW2,這只是個很單純的解法。我沒試過是不是有其他簡單工具批量做,我認為是必然有的或者實在不行你隨便寫個指令碼也不麻煩。。。。我僅就侷限於用 Excel單元格公式給你做出解答,因為這是個比較有意思的問題

怎麼讓excel不轉換為科學計數法?

小臭魚 摸索了很久,嘗試了將單元格格式設定為文字,複製到word一系列操作還是不行。最後成功的方法是 把單元格格式設定為郵編 zip code 如果都是 的話,把列寬拉拉寬。 微軟官方回答,親測好用,簡單方便 flySoul 1.拖拽複製資料到onenote 2.設定excel全選所有單元格為文字格...

EXCEl中如何將時間幾分幾秒求和?

Lee.璟 前面大家都說了用Excel解決問題的辦法了,因為你沒有說用什麼語言,我matlab來個吧 注 序列中所有時間都是以 小時 分 秒的形式出現的,如果不是,前期請處理好。原始資料如下 輸出結果是 其中sum是具體每個資料的秒數。資料量小的話建議用excel 資料量大的話建議matlab。 龍...

如何將EXCEL列表中的文字拆分?

丙boy 如果需要加了選項序號,批量填充即可,複製下單元格就好通用辦法,一般拿到一堆擠在一起文字或數字,需要標準化格式的話,建議先觀察有沒有規律,類似空格 分號等,或者貼到記事本,格式會更容易看到,發現規律後,用一些文字函式處理。常用的文字函式有 left right len text MID RE...