怎麼讓excel不轉換為科學計數法?
這個問題的關鍵就是,不是手工輸入,而是直接粘貼長數字串。
3W行數據,從一個web頁粘貼過來,不是手工輸入。 從web數整上取了一個崗位表(每一行都是由0、1組成的192位的字元串)貼到excel後就轉換成科學計數法了。這個192位的0、1崗位表貼到EXCEL後會被科學計數法,手工轉換成非科學計數法後,後面的01都會被轉換成0。這樣數據就出錯了。我不想要科學計數法,excel不理解我,這些字元串不是數字!!
怎麼做能讓excel不轉換?
以下三種方法來自於網路,親測可用。
第一種是輸入前設置好,後兩種是已經變成科學計數法之後如何轉換成數字。
在EXCEL中,輸入超過11位數字時,會自動轉為科學計數的方式,比如:123456789012345,輸入後就變成了:1.23457E14,要解決的方法有很多種,現在為大家說幾種比較簡單快速的方法:
1、在輸入之前設置好格式。在A1單元輸入號碼時,在前面先輸入單引號(英文狀態下),就是:123456789012345,這樣單元格會默認為該單元為文本方式,會完整顯示出15個數字來,而不會顯示科學計數方式。
2、已經輸入後進行格式轉換。如果已經輸入了大量的數字,全部以科學計數顯示的話,而又懶的按照上面的方法一個一個的重新輸入的話,也有這個好方法。比如已在單元A1:A100輸入了號碼,按以下步驟做:選擇單元A1:A100—&>單擊滑鼠右鍵—&>設置單元格式—&>選擇自定義,在「類型」中輸入0(數字零)即可!
===========經評論區同學提示後修改:================================
有同學指出第2種方法無法保留小數精度,這種問題可以將「類型」中輸入的0改為0.000解決,後面小數位數表示保留幾位小數。3、生成新的列。這種是用函數來解決的:例如在A1:A100已經輸入很多行時,在B1單元中輸入:=TRIM(A1)。輸完後,B1單元也是顯示出完整的數字了,然後向下拖動填充即可。這種方法可能會損失精度。
1)把格式設置為文本,然後用選擇性粘貼——數值
2)在每個單元格的數字之前加一個,輸出就自動換為文本了3)如果已經粘貼好了,用數據--分列,最後一個選項的時候輸出方式選擇文本
170723補充:如果數字位數是相同的,且首位可能為零,可以用text函數添加輔助列完成,比如數字都是12位的,就用=text(A2, "000000000000")先輸入半形單引號
再輸入數據,即可強制將純數字數據轉換為文本,這樣就不會出現數據出錯的問題了。
例如
希望能幫到題主
以上。
可以使用Excel VBA代碼去操作(我的是Excel2016):
1.文件→選項→信任中心→信任中心設置→宏設置→啟用所有宏。
2.新建一個專用寫宏的Excel文件,另存為.xlsm格式。
3.在Excel中按Alt+F11打開VBA編輯器,在左側模塊文件夾右鍵→插入→模塊
4.新打開的模塊中,鍵入以下代碼:
Sub NumberFormat()
Dim s$, t As Range
Selection.NumberFormat = "@"For Each t In Selection.Cells
s = t.Value t = s NextEnd Sub5.切回到Excel中,在功能區處右鍵→自定義功能區,左邊的「常用命令」位置的下拉q箭頭,選擇「宏」,可以看到自己建好的代碼名稱。
6.右邊的自定義功能區列表,點下面「新建選項卡」按鈕,建立一個新選項卡,選擇新選項卡,點「新建組」按鈕建一個新組。
7.選擇新建的組,點界面中間的「添加」按鈕,將左邊的宏過程添加到l右邊的組內。
8.選擇新建的宏過程,右鍵→重命名,設置一個好理解的中文簡稱,比如「編碼轉文本格式」。同樣可以重命名新建的選項卡和組。
9.選擇自己要處理格式的單元格,點擊自己定義的按鈕執行,數據就刷回來了。
注意:如果選擇一整列,會卡住一會兒。盡量選中單元格去操作。
我的是WPS,打開的文件後綴是.csv,可以這麼處理,excel沒有試過
不知道可行不,先粘貼到word上,再在excel設置單元格格式為文本,選擇性粘貼——文本。
補充樓上。在輸入數字之前就設置好,單元格屬性是文本。
我記得有一種最快捷的辦法,當你選定這一列的時候,旁邊會有一個小選項是轉換為數字或者轉為文本~一鍵就切換了呀
推薦閱讀:
※用Excel如何做相關的累計頻率和頻數的分析圖表?
※如何取消Excel自動日期轉換?
※如何將多個同樣式的excel表匯總成一個?
※有哪些和excel類似或基於excel擴展的軟體?
※Excel有什麼有趣的玩法?
TAG:MicrosoftExcel |