Các anh chị cho em hỏi trong excel khi e down 1 dữ liệu trong phần mềm ra thì ở đầu những con sồ xuất hiện dấu phẩy VD '0101018067 vậy làm sao để mầt dấu phầy này đi. E cám ơn các anh chị nhiều ạ
Chính xác hơn, công thức phải là thế này bạn ạ:
=RIGHT(A1,LEN(A1))
Các anh chị cho em hỏi trong excel khi e down 1 dữ liệu trong phần mềm ra thì ở đầu những con sồ xuất hiện dấu phẩy VD '0101018067 vậy làm sao để mầt dấu phầy này đi. E cám ơn các anh chị nhiều ạ
Chắc bạn chưa hiểu ý tôi: giả sử có số: '1234, dùng ct của bạn chắc chắn sẽ ra kq là 234 chứ không phải là 1234.
Cũng liên quan tới chủ đề này, làm thế nào để có dấu nháy (') vào tất cả các dòng có sẵn dữ liệu của 1 cột mà ko cần thêm cột khác (làm bằng tay hoặc công thức mà ko code kiệc gì cả)? (Giống như định dạng format cột mà có dấu nháy ấy)
Mục tiêu là giống như khi ta gõ vào cell là '001 để nó hiểu là text chứ ko phải số ấy (vì khi import vào phần mềm mà ko có dấu "'" thì nó lại hiểu là NULL đối với các trường text)
Các anh chị cho em hỏi trong excel khi e down 1 dữ liệu trong phần mềm ra thì ở đầu những con sồ xuất hiện dấu phẩy VD '0101018067 vậy làm sao để mầt dấu phầy này đi. E cám ơn các anh chị nhiều ạ
Hehe, nếu vậy sao anh không xài luôn hàm text() cho nó tiện! Lâu lâu anh hai2hai đùa với em út phải không?
Vậy thì đơn giản rồi anh à! anh gõ dấu nháy ['] này vào ô trống bất kỳ. Sau đó copy ô này (Ctrl+C). Chiếu sáng (Đánh khối) toàn bộ vùng muốn thêm dấu nháy đơn này vào và chọn Paste Special ---> Add (Alt+E, S, D). Anh test thử xem nhé!- Mình không thành thạo Excel (Nói thật đấy - Có Tuân làm kiểm chứng nhé)
- Nếu dùng hàm Text() thì e ko đúng ý mình lắm.
Bài toán cụ thể thế này:
Mình có 1 Sheet có tên là InventoryItem (cái này ko quan trọng, nói để hình dung thôi). Trong Sheet đó, mình có 2 cột (ví dụ thế): InventoryItemID (Cột 1), InventoryItemName (Cột 2)
Trong chương trình, cả 2 cột đều dạng Text cả (thực tế là Varchar)
Trên Sheet mình đã format 2 cột đó là Text rồi (chứ ko để là General đâu)
Ở Sheet đó mình gõ trực tiếp các dòng sau
12345678 Item 1
abc12345 Item 2
Thế mà khi Import vào chương trình, dòng thứ nhất thì OK ko sao, dòng thứ 2 nó ko nhận ra "abc12345" mà chỉ nhận giá trị NULL. (Mình nghĩ khi detect dòng thứ nhất nó hiểu là cột số, đến dòng thứ 2 nó tiếp tục hiểu là cột số nên nó mới trả lại giá trị NULL)
Mình kiểm tra mãi mới phát hiện ra nếu mình nhập như sau thì mọi việc OK
'12345678 Item 1
'abc12345 Item 2
Tức là, thêm dấu nháy (') vào trước các dữ liệu của cột InventoryItemID thì mọi việc đều tốt đẹp khi Import dữ liệu
Tuy nhiên, dữ liệu của khách hàng có cực nhiều trên mỗi Sheet, và có rất nhiều Sheet có cột ID như vậy, nên ko thể gõ thêm dấu nháy (') cho từng dòng được.
Cho nên, mình muốn (làm bằng tay thôi, ko hàm hiệc, code kiệc gì cả, làm sao không thêm cột nào thì tốt vì file Excel đó là template (chuẩn) để Import rồi) mà có thể nhét dấu nháy (') vào tất cả các dòng của cả cột mà mình muốn làm.
Thanks in advance,
Vậy thì đơn giản rồi anh à! anh gõ dấu nháy ['] này vào ô trống bất kỳ. Sau đó copy ô này (Ctrl+C). Chiếu sáng (Đánh khối) toàn bộ vùng muốn thêm dấu nháy đơn này vào và chọn Paste Special ---> Add (Alt+E, S, D). Anh test thử xem nhé!
Kiệt ơi trên thanh Fomular thể hiện '12456, nhưng cell 12456
Hình như ko được thì phải. Bạn thử làm chưa? Mình làm ko thấy có tác dụng gì.
Kiệt ơi trên thanh Fomular thể hiện '12456, nhưng cell 12456
Em làm rồi mới post lên chứ anh. Anh lưu ý là Paste Special (có hai phần):
Paste: chọn All
Operation: chọn Add
Anh phải gõ dấu ' hai lần thì trong ô mới thể hiện 1 dấu 'Không thay đổi gì cả ca_dafi à.
Mình làm thế này nhé:
Có 1 cột (tạm thời chưa định dạng gì cả) cần thêm (') có dữ liệu như sau:
123456
dsdksjd
1212abc
cbas134
- Mình gõ vào 1 cell dấu nháy đơn (')
- Copy cell đó
- Bôi đen vùng ở cột 1
- Chọn paste special
- Chọn All, Operation: chọn Add
- Bấm OK.
Kết quả, cả cái vùng cột 1 đó vẫn như cũ.
Không thay đổi gì cả ca_dafi à.
Mình làm thế này nhé:
Có 1 cột (tạm thời chưa định dạng gì cả) cần thêm (') có dữ liệu như sau:
123456
dsdksjd
1212abc
cbas134
- Mình gõ vào 1 cell dấu nháy đơn (')
- Copy cell đó
- Bôi đen vùng ở cột 1
- Chọn paste special
- Chọn All, Operation: chọn Add
- Bấm OK.
Kết quả, cả cái vùng cột 1 đó vẫn như cũ.
Anh phải gõ dấu ' hai lần thì trong ô mới thể hiện 1 dấu '
Nói đừng buồn nhé,Vậy thì đơn giản rồi anh à! anh gõ dấu nháy ['] này vào ô trống bất kỳ. Sau đó copy ô này (Ctrl+C). Chiếu sáng (Đánh khối) toàn bộ vùng muốn thêm dấu nháy đơn này vào và chọn Paste Special ---> Add (Alt+E, S, D). Anh test thử xem nhé!
Vẫn không thể nào Add cái dấu ' đó vào được. Excel chỉ chấp nhận Add một giá trị số thôi.À em quên một điều kiện quan trọng nữa là nếu vùng chọn vừa có kiểu số, vừa có kiểu chữ, thì trước tiên ta phải format toàn bộ cells vùng đó là text rồi thực hiện thao tác paste như bên dưới thì mới có hiệu quả.
Vậy là anh hai2hai muốn trong Cell thể hiện là '21334 có phải không?
Cái này mà em dám nói là làm được thì anh cũng thua chứ ở đó mà em bày cho anh Hai2hai làm!
Mong muốn: Trên cell thể hiện là 21334, nhưng F2 thì nó thể hiện '21334
Đã thử Format cả vùng (cần thêm nháy) trước là dạng text rồi. Khi paste vào, chỉ có dòng là text mới thêm nháy lúc bấm F2 (') thôi, dòng là số thì ko có kết quả như ý.
Nói đừng buồn nhé,
Cái này mà em dám nói là làm được thì anh cũng thua chứ ở đó mà em bày cho anh Hai2hai làm!
Anh xem file đính kèm. Em vừa làm xong đó.
Được mà anh BNTT...............
To anh hai2hai :Anh chuyển số sang text là được
Đã thử trên Excel207, nó không ép phê!Chịu thua thôi... Sao anh không tài nào mà Add thêm cái dấu ' vào.
Lấy cái bài của Ca_Dafi gửi, xóa bớt đi vài dấu ', rồi thử Paste Special vào như em nói, nó hổng chịu vào, là sao ?
Hay là tại vì Excel 2007 ?
Tất cả các dòng ở vùng tô đen lại ko có dòng nào chỉ có số (ví dụ: 12345) cả.
Trước khi paste, mình đã format cả vùng đó dạng text rồi mà!
12345asasa thì nó lại là dạng text, cái đó thì OK rồi mà. Vấn đề là trong đống đó lại có dòng 12345 thôi.
ca_dafi thử lại xem.
Thanks much!
P/S: Nhân tiện bài này, đây cũng là 1 vấn đề mình muốn nói thêm. Khi lập trình, bao giờ cũng phải vét cạn hết các trường hợp kiểu như vậy. Ví dụ, ở trường hợp trên, dữ liệu mình tính tới phải bao gồm tất cả các dạng dữ liệu (số, chữ,...) để khi chạy ở khách hàng sẽ hạn chế những trường hợp mà mình ko tính đến. Mọi khi chức năng Import mình chạy phe phé. Xong, mình tiếp tục thử bằng cách thử nhập liệu với nhiều dạng dữ liệu khác nhau chứ ko chỉ 1 dạng và lúc đó phần mềm lại ko import được những dòng đó. Nếu mình ko test kỹ như vậy, đến lúc làm cho KH thì sẽ ko import được, vừa mất thời gian, vừa mất uy tín với KH.
Các anh chị cho em hỏi trong excel khi e down 1 dữ liệu trong phần mềm ra thì ở đầu những con sồ xuất hiện dấu phẩy VD '0101018067 vậy làm sao để mầt dấu phầy này đi. E cám ơn các anh chị nhiều ạ
- Mình không thành thạo Excel (Nói thật đấy - Có Tuân làm kiểm chứng nhé)
- Nếu dùng hàm Text() thì e ko đúng ý mình lắm.
Bài toán cụ thể thế này:
Mình có 1 Sheet có tên là InventoryItem (cái này ko quan trọng, nói để hình dung thôi). Trong Sheet đó, mình có 2 cột (ví dụ thế): InventoryItemID (Cột 1), InventoryItemName (Cột 2)
Trong chương trình, cả 2 cột đều dạng Text cả (thực tế là Varchar)
Trên Sheet mình đã format 2 cột đó là Text rồi (chứ ko để là General đâu)
Ở Sheet đó mình gõ trực tiếp các dòng sau
12345678 Item 1
abc12345 Item 2
Thế mà khi Import vào chương trình, dòng thứ nhất thì OK ko sao, dòng thứ 2 nó ko nhận ra "abc12345" mà chỉ nhận giá trị NULL. (Mình nghĩ khi detect dòng thứ nhất nó hiểu là cột số, đến dòng thứ 2 nó tiếp tục hiểu là cột số nên nó mới trả lại giá trị NULL)
Mình kiểm tra mãi mới phát hiện ra nếu mình nhập như sau thì mọi việc OK
'12345678 Item 1
'abc12345 Item 2
Tức là, thêm dấu nháy (') vào trước các dữ liệu của cột InventoryItemID thì mọi việc đều tốt đẹp khi Import dữ liệu (khi thêm vào, nếu ko ở chế độ editing thì không nhìn thấy dấu nháy)
Tuy nhiên, dữ liệu của khách hàng có cực nhiều trên mỗi Sheet, và có rất nhiều Sheet có cột ID như vậy, nên ko thể gõ thêm dấu nháy (') cho từng dòng được.
Cho nên, mình muốn (làm bằng tay thôi, ko hàm hiệc, code kiệc gì cả, làm sao không thêm cột nào thì tốt vì file Excel đó là template (chuẩn) để Import rồi) mà có thể nhét dấu nháy (') vào tất cả các dòng của cả cột mà mình muốn làm.
Thanks in advance.
P/S:
Nếu dùng hàm text (=TEXT(B3,"'@")) thì nó lại hiện cả dấu nháy (') khi ko ở chế độ editing chứ ko phải như lúc mình gõ dấu ' lúc bấm F2
Hình như có 1 giải pháp khác là mình Format cột đó là Text.
Sau khi copy từ cột dữ liệu ở file của khách hàng, mình cột dữ liệu đó và paste special sang cột của mình values only (vẫn giữ nguyên format của mình). Hy vọng mọi chuyện sẽ giải quyết được.![]()
Dim cn as ADODB.Connection
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=C:\MyFolder\MyWorkbook.xls;" & _
"Extended Properties=Excel 8.0; [B]MaxScanRows = [COLOR="Red"]2[/COLOR][/B]"
.Open
End With
Đã thử trên Excel207, nó không ép phê!
Excel2003 thì tốt
Giả sử cột A chứa dữ liệu:
1. Cột B gõ vào: ="'"&[A]
2. Kéo công thức xuống
3. Dán cứng cột B lại
4. Tìm và thay thế ký tự "'" bên cột B.
5. Copy cột B, paste all qua cột A
6. Delete cột B.
Nếu Haì2hai chịu xài ASAP (cũng là code kiết nhưng viết sẵn) thì có đấy:
Vào menu ASAP Utilities - Number - Convert Number to Text (Adding ' in front)
5 giây, kể cả mở Menu! ASAP là As Soon As Possible mà!
Có điều nó là cọt kẹt nên không có Undo.
Cũng liên quan đến chủ đề này, em có một khó khăn :
Việc định dạng của excel rất lung tung, chính vì vậy rất dễ nhầm lẫn khi xử lý mấy dữ liệu nửa số nửa text. (Số hiệu tài khoản chẳng hạn)
Vậy có cách nào để excel luôn hiểu nó (Số hiệu tài khoản) là Text ???
(Em đang dùng giải pháp là : thêm vào trước số hiệu tài khoản ký tự "_" híc híc)
Thân!
Trước tiên định dạng cả vùng tài khoản về dạng Text sau đó mới nhập thì Excel luôn là hiểu là Text.
Nếu trong vùng nhập liệu , sao MrOkeBab không cho 1 cái validation cho tiện cả hai ba đường.
Đành là như vậy, nhưng trong lúc xóa vùng và xóa ô liên tục, nhiều khi copy . . . excel lại tự động chuyển thành number. Phức tạp thật.
Chẳng lẽ phải tạo 1 hàm nhằm convert Tài khoản sao cho khi nhập vào excel thì luôn có dấu " ' " đằng trước. (Việc tạo hàm này thì đơn giản, tuy nhiên mỗi lần như thế lại phải gọi nó ra thì hơi phiền)
Có cách nào khác không nhỉ ???
Có mấy lần em test thử nếu gán thẳng cấu trúc range("rangename") = Me.textbox.value thì excel nó hiểu là số. Nhưng gán range("rangename") = Me.textbox thì excel nó lại hiện cái hình tam giác màu xanh (có nghĩa là kiểu text). Cũng chưa hiểu nữa nên đem lên đây nói, nhờ các anh giải thích giúp!
Có vẻ bài của bạn mâu thuẫn thế nào ấyChào các bạn. Mình cũng vừa gặp vấn đề như chủ topic và vừa search ra topic này. Đã làm theo nhiều cách của các cao thủ ở đây, nhưng ko cách nào đc.
Ý của chủ topic:
Các ô của sheet đó ở dạng số và có dấu ' ở trước. Như vậy: khi nhìn bằng mắt thường ta sẽ ko thấy dấu nháy, còn trên fomular sẽ vẫn thấy dấu nháy.
VD: Fomular của ô A1: '123456 => ô A1: 123456
=> Giải quyết như sau: Click vào ô (hoặc column) cần bỏ dấu ' , bạn sẽ thấy xuất hiện 1 dấu chấm than nằm trong hình thoi bên trái ô (cột đó) => click vào => chọn Convert to number => done
Cái này áp dụng với các dữ liệu dạng dạng số, còn text thì mình chưa thử.
Hy vọng câu trả lời này giúp đc 1 số bạn!
Sử dụng hàm SUBSTITUTE, ví dụ: =SUBSTITUTE(A1,"*","")Mình có chuỗi dữ liệu sau: 0909123456** hoặc 0909123456*66
Muốn bỏ dấu * thì phải làm sao?