Tại sao Excel coi các chuỗi số dài là ký hiệu khoa học ngay cả sau khi thay đổi định dạng ô thành văn bản


118

Tôi đang cố xử lý một số dữ liệu trong Excel. Dữ liệu bao gồm số tài khoản số và các chuỗi số dài khác (như MEID của điện thoại di động). Tôi không thực hiện các phép toán trên các chuỗi này, vì vậy tôi muốn Excel coi chúng là văn bản thuần túy.

Đây là những gì đang khiến tôi phát điên (đây là Excel 2010):

  1. Lấy một số dài như 1240800388917 và dán nó vào một ô trong một bảng tính mới.
  2. Định dạng ô mặc định của Excel là chung, do đó, chuỗi được trình bày theo ký hiệu khoa học là 1.2408E + 12
  3. Nhấp chuột phải vào ô, chọn Định dạng ô, đặt định dạng thành Văn bản

Các tế bào vẫn được hiển thị trong ký hiệu khoa học, mặc dù định dạng đã được đặt thành văn bản.

Bây giờ, nếu tôi thực hiện các bước theo thứ tự khác:

  1. Định dạng một ô trống dưới dạng văn bản. Nhấp chuột phải vào ô, chọn Định dạng ô, đặt định dạng thành Văn bản
  2. Lấy một số dài như 1240800388917 và dán nó vào ô được định dạng văn bản

Bây giờ, ô được hiển thị dưới dạng một chuỗi và không theo ký hiệu khoa học.

Các kết quả còn lại trong ký hiệu khoa học mặc dù ô được định dạng là văn bản dường như bị phá vỡ đối với tôi. Tôi đã thấy các công việc được đề xuất như: sử dụng nhập CSV và đặt định dạng thành văn bản, thêm ký tự khoảng trắng vào đầu mỗi chuỗi số và các chuỗi khác.

Có một công việc tốt đơn giản xung quanh để dễ dàng giữ các chuỗi này được định dạng như văn bản không?

Tại sao trên trái đất Excel làm điều này?

Các câu hỏi SU liên quan tôi đã tìm thấy: Làm thế nào bạn có thể khiến Excel 2007 dừng định dạng số lớn như ký hiệu khoa học? đây có phải là hành vi Excel với số hex lớn không?


Số dài 1240800388917được sao chép từ một ô khác? Hoặc chỉ là văn bản đơn giản, như từ Notepad?
wilson

Câu trả lời:


24

Ah, những ký ức của dữ liệu munging trở lại từ khi tôi đã làm một số số lượng lớn kiểm tra trong Excel (không bao giờ một lần nữa) chéo .. Khi bạn đấm trong chuỗi số dài vào Excel, hãy thử nói, 12345678901234567890 (20 chữ số), Excel thường sẽ chuyển đổi nó cho bạn , có nghĩa là số 20 chữ số bạn vừa gõ vào đã bị cắt giảm chỉ còn khoảng mười lăm con số đáng kể.

Cũng lưu ý: chuyển đổi là một cắt ngắn, trái ngược với làm tròn. (12345678901234567890 là 1.2345678901234 6 E + 19, nhưng excel sẽ hiển thị cho bạn 1.2345678901234 5 E + 19)

Điều này xảy ra tại điểm nhập cảnh, vì vậy một khi nó vào, bất kỳ chi tiết bổ sung nào cũng bị mất và vì vậy ngay cả khi bạn nói với Excel rằng bạn thực sự có nghĩa đó là văn bản chứ không phải là một số, bạn không gặp may và vì sao trình tự đầu tiên của bạn không hoạt động.


1
Có, tôi thấy hành vi đó khi chuỗi số của tôi có hơn 15 chữ số có nghĩa. 12345678901234567890 trở thành 1.23456789012345E + 19 như bạn nói. Khi tôi nhấp vào ô, hộp chỉnh sửa hiển thị chuỗi bị cắt và được đệm bằng số không là 12345678901234500000. Điều kỳ lạ là nó làm điều tương tự đối với các số không vượt quá giới hạn 15 chữ số của excel. Nếu tôi dán vào 12345678901234, nó được hiển thị là 1.23457E + 13, nhưng khi tôi nhấp vào nó, hộp chỉnh sửa vẫn hiển thị chuỗi gốc. Bây giờ, điều kỳ lạ là nếu tôi định dạng ô này thành văn bản, nó vẫn hiển thị trong ký hiệu khoa học. Làm phiền.
Michael Levy

7
Đó thực sự là một vấn đề nhỏ về hiển thị - thiết lập định dạng từ chung sang văn bản sẽ không hiển thị ngay dưới dạng chuỗi gốc, nhưng nếu bạn vào và chỉnh sửa dữ liệu (như trong, chỉ cần nhấp vào vùng chỉnh sửa và nhấp ra ) nó sẽ cập nhật chính xác những gì bạn đưa vào.
tanantish

11
Hack nhanh: Đặt định dạng trên các cột thích hợp, sao chép dán vào notepad, sau đó sang Excel.
Brian

9
Điều này KHÔNG PHẢI LÀ TRẢ LỜI CHẤP NHẬN : xem phần tiếp theo bên dưới.
javadba

3
Vì vậy, bạn đã hồi tưởng và nhắc lại vấn đề. Bây giờ, làm thế nào để bạn sửa chữa nó?
dùng3932000

162

Điều này làm việc cho tôi trong Excel 2010. Chỉ cần chọn cột, nhấp chuột phải, Định dạng ô, Tùy chỉnh và chọn tùy chọn có giá trị 0 (tùy chọn thứ hai bên dưới Chung).


25
Điều này tốt hơn nhiều so với câu trả lời được chấp nhận có nội dung "bạn không gặp may"! Tôi đã có một tệp CSV có vấn đề này và giải pháp định dạng tùy chỉnh hoạt động hoàn hảo.
davidair

4
phải được chấp nhận câu trả lời, ai đó nên / có thể thay đổi?
qwertzman

11
Điều này vẫn xuất hiện để cắt ngắn trong thử nghiệm của tôi. Sử dụng Excel 2013 tôi đã nhập thông tin sau vào một ô 12345678901234567890. Khi tôi nhấn enter, nó được hiển thị là 1.23457E + 19 và giá trị cơ bản được thay đổi thành 12345678901234500000 do đó bị mất dữ liệu. Điều này không trả lời câu hỏi ban đầu.
Michael Levy

1
Ở đây tôi một năm sau xem lại cùng một câu trả lời và mong muốn tôi có thể nâng cao nó một lần nữa.
billynoah

7
Câu trả lời này sửa định dạng, nhưng không bảo toàn dữ liệu đã nhập. Đó là lý do tại sao tôi không thể chấp nhận nó như một câu trả lời chính xác. Tôi đã đăng một đoạn video ngắn để hiển thị. Khi bạn làm theo các hướng dẫn này, sau đó nhập một số nguyên dài như 12345678901234567890, bạn sẽ mất độ chính xác khi coi nó là số, ngay cả khi nó được hiển thị trong ký hiệu không khoa học. Excel coi nó là giá trị 12345678901234500000. Chỉ bằng cách coi nó là văn bản, bạn có thể duy trì tất cả các chữ số. Xem youtu.be/7EDcR7TQpYs
Michael Levy

13

Dấu nháy đơn 'trước một số sẽ buộc Excel coi một số là văn bản (bao gồm cả căn lề trái mặc định). Và nếu bạn có lỗi được gắn cờ, nó sẽ hiển thị dưới dạng một số được lưu dưới dạng lỗi văn bản trên ô.


Đây không phải là luôn luôn như vậy. Excel đôi khi đã trộn dữ liệu của tôi ngay cả với dấu nháy đơn hàng đầu.
Cerin

3
Cerin, một điểm công bằng - không bao giờ đánh giá thấp khả năng của Excel (hoặc của Microsoft) để làm điều gì đó hoàn toàn không thể giải thích được hoặc có thể lặp lại. Tuy nhiên, thủ thuật apostrophe thường hoạt động như quảng cáo.
dav

1
bạn có thể làm điều này với số lượng lớn? Tôi có dữ liệu với 60000 ô mà tôi muốn chuyển đổi thành văn bản.
vaibhavcool20

Hoặc chỉ cần chọn định dạng dưới dạng văn bản trong nhấp chuột phải, menu Định dạng ô;)
Shaya

13

Tôi thấy rằng trong Office 2010, nếu bạn định dạng cột trước, sau đó dán vào dữ liệu, nó sẽ hiển thị số lượng lớn một cách chính xác.


Đó có lẽ là vì nó được lưu trữ dưới dạng một chuỗi. Điều gì xảy ra nếu bạn tạo một ô khác, giả sử, nội dung của ô đó nhân với 2?
Peter Mortensen

1
Điều này hoạt động trong Excel 2016 / Office 365. Tôi đã chọn tất cả các ô, định dạng chúng thành Văn bản và sau đó dán dữ liệu đã sao chép của tôi và nó không hiển thị với ký hiệu khoa học gây phiền nhiễu. Cảm ơn!
frezq

Đây cũng là điều làm việc cho tôi trong Google Sheets ... "Định dạng> Số> 0" trước khi dán vào vals và không chuyển đổi thành ký hiệu khoa học trong khi KHÔNG mất giá trị cuối (làm tròn số vals), điều này xảy ra quá thường xuyên .
twknab

12

Hãy thử điều này ... điều này hiệu quả với tôi, Excel 2013.

=""&a1

trong đó a1 giữ giá trị số. Sau đó, sao chép cột và dán vào cột ban đầu.


Điều này cũng hoạt động trong Excel 2010.
Paul G

2
Là một nút bên: ="1240800388917"thực hiện tương tự
nixda

5

Bạn có thể định dạng các ô là Tùy chỉnh> #

Điều này có thể được áp dụng sau khi bạn dán dữ liệu vào cột, nhưng bạn phải làm điều đó trước khi bạn lưu bảng tính.

Tôi làm việc rất nhiều với mã vạch (UPC) và excel sẽ định dạng chúng theo ký hiệu khoa học theo mặc định. Ổ đĩa cho tôi! Tại sao đây không phải là một lựa chọn tôi sẽ không bao giờ biết.


Điều đó không chuyển đổi số thành văn bản, điều này có thể gây ra vấn đề về sau. Nhưng cũng ...
Joris Meys

5

Tôi biết tuổi của câu hỏi, nhưng đây là câu hỏi tôi đã tìm thấy sau khi tìm kiếm trên google và không trả lời câu hỏi của tôi (tại sao định dạng dưới dạng văn bản không hoạt động và tại sao số bị cắt xuống 15 chữ số sau khi định dạng để kiểm tra).

Câu trả lời ngắn gọn là: bạn không thể làm việc theo số của mình theo cách bạn thích SAU KHI bạn đã nhập giá trị số và gõ Enter. Thời điểm bạn làm điều đó, số sẽ được rút ngắn thành 15 chữ số và được trình bày theo cấp số nhân.

Đây không phải là một lỗi, nó là một tính năng.

Bất cứ điều gì bạn làm sau đó sẽ được sử dụng giá trị rút gọn, vì vậy không có thủ thuật định dạng nào có ích. Tuy nhiên, bạn có thể sử dụng Text to columnstùy chọn để chuyển đổi ký hiệu mũ văn bản (Click vào tiêu đề cột, bấm Text to data, sau đó Delimited, Next, untick tất cả các hộp delimiter, Chọn Texttrong Column data formatvà sau đó Finish) có giá trị chuyển đổi sang văn bản và ngay lập tức hiển thị như số 15 chữ số. Nhưng, nó sẽ chỉ có 15 chữ số, vì vậy nếu bạn có số dài hơn, phần còn lại sẽ bị mất.

Để có số trong bảng tính chính xác như cách bạn nhập vào, bạn phải lưu nó dưới dạng văn bản. Vì vậy, bạn phải đặt trước nó bằng dấu nháy đơn hoặc định dạng các ô dưới dạng văn bản trước khi nhập / sao chép giá trị vào nó. Nếu nó "đôi khi không hoạt động", thì xin lỗi, bạn đã làm gì đó sai hoặc bạn có một số loại tự động sửa (nếu bạn sử dụng dấu nháy đơn và số lớn> 15 chữ số Excel coi đó là một giá trị sai và gắn cờ cảnh báo tin nhắn, vì vậy nhận xét này không phải là cá nhân cũng không phải là phê bình).

Một cách khác để làm điều đó với số lượng lớn là nhập giá trị từ tệp văn bản. Tôi dám nói đó là cách duy nhất cho hầu hết các tình huống. Và hãy chắc chắn nhập tệp, không chỉ mở tệp, vì Excel xử lý csvloại như định dạng gốc của nó và cắt số lượng lớn thành 15 chữ số là điều tất nhiên.

Bây giờ, đến vấn đề cuối cùng. Nếu bạn nhập giá trị số lớn trong ô Excel được định dạng dưới dạng văn bản, nó sẽ vẫn được hiển thị theo ký hiệu khoa học miễn là ô không đủ rộng. Thật khó chịu, nhưng tác dụng phụ của một số thuật toán nội bộ Excel. Chỉ cần làm cho ô rộng hơn và bạn sẽ thấy giá trị đầy đủ mỗi lần.


3

Excel 2010: Điều này hoạt động một cột tại một thời điểm và hoàn toàn không phải cho một hàng. Chọn cột hoặc tập hợp con của một cột, từ tab Dữ liệu chọn "Chuyển văn bản thành Cột" và chuyển sang phải để "Kết thúc". Không có ký hiệu khoa học hơn.

Tôi đồng ý với nhiều người dùng Excel, thật tội khi không có tùy chọn nào để ngăn chặn ký hiệu khoa học!


1
Trong thử nghiệm của tôi trên Excel 2007, tôi đã phải bấm Next >hai lần, sau đó chọn Văn bản Quảng cáo và bấm Finish. Bạn có thể áp dụng điều này cho các hàng bằng cách chuyển đổi, chuyển đổi và hoán vị trở lại.
Scott

1

Trong Excel 2013, điều tương tự cũng xảy ra với tôi và tôi vừa đi đến Định dạng ô -> Số sau đó đảm bảo vị trí thập phân được đặt thành "0".


1
tương tự như câu trả lời ẩn danh ở trên nhưng việc chọn "Số" bằng cách nào đó có ý nghĩa hơn là chọn "tùy chỉnh" .. cộng với nó cao hơn trong danh sách. dù sao, nó cũng làm điều tương tự nhưng tôi thích điều này hơn
billynoah

0

Chọn tất cả các ô - hoặc, để làm cho mọi thứ dễ dàng - chọn toàn bộ bảng tính và nhấp vào Định dạng ô , sau đó chọn Văn bản .

Tự động, toàn bộ bảng tính của bạn sẽ sử dụng văn bản. Bạn không phải làm điều đó bằng tế bào.


Than ôi, điều này không làm việc. Văn bản sẽ chỉ là ký hiệu khoa học, đó là toàn bộ vấn đề ...
Joris Meys

0
  1. Sao chép / dán trường vấn đề vào trang tính mới trong cột A

  2. Sao chép / dán Cột A vào tệp văn bản

  3. Định dạng Cột B thành văn bản và dán tệp văn bản vào Cột B

  4. Trong cột C:

    =IF(ISNUMBER(SEARCH("+",B1)),A1,"")
    
  5. Chuyển đổi cột C thành định dạng số không có số thập phân

  6. Sao chép / dán Cột C vào tệp văn bản

  7. Định dạng Cột D thành văn bản và dán tệp văn bản vào Cột D

  8. Trong cột E:

    =IF(IF(IF(B2=A2,A2,D2)=0,A2,IF(B2=A2,A2,D2))=0,"",IF(IF(B2=A2,A2,D2)=0,A2,IF(B2=A2,A2,D2)))
    
  9. Sao chép / dán Cột E vào notepad

  10. Xóa dữ liệu trong trường vấn đề và định dạng cột thành văn bản

  11. Sao chép / dán dữ liệu từ tệp văn bản vào trường vấn đề


0

Điều này làm việc cho tôi trong Excel 2013, bao gồm sao chép các ô ra các chương trình khác. Lọc dữ liệu đã giúp, đặc biệt là cho các bước chỉnh sửa.

  1. Chọn (các) ô mong muốn của bạn.
  2. Áp dụng định dạng số "Văn bản". (Hãy thử Alt, H, N, sau đó "Văn bản".)

Sau đó, cho mỗi ô mong muốn của bạn:

  1. Vào chế độ chỉnh sửa. (Hãy thử F2.)
  2. Xác nhận chỉnh sửa của bạn bằng Enter (tốt cho cột) hoặc Tab (tốt cho hàng). Không thay đổi nội dung.

Số của bạn sẽ xuất hiện bình thường, thậm chí ở mức 100 chữ số. =)


Không hoạt động cho nhiều ô (Excel 365)
Albin

0

Excel gây khó chịu cho CSV / dữ liệu hàng loạt hoạt động như thế này. Làm việc với LibreOffice nếu có thể, nó không làm điều này, nghĩa là, nếu bạn mở cùng một trang tính (.xlsx) trong Libreoffice, các 'số' lớn thực sự không được hiển thị trong ký hiệu khoa học (đó là một quyết định vô lý bằng Excel). Độ trung thực của tệp LibreOffice rất tuyệt: mở lại cùng .xlsx trong Excel và ký hiệu khoa học ngay lập tức "hoạt động" như bình thường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.