Tách dữ liệu trong 1 cell có nhiếu dữ liệu (1 người xem)

  • Thread starter Thread starter LUKEGAU
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

LUKEGAU

Thành viên mới
Tham gia
16/3/09
Bài viết
3
Được thích
0
Chào mọi người,%#^#$

Mình gặp vấn đề trong 1 cell có input nhiều giá tri, và mỗi giá trị cách nhau bằng xuống dòng (Alt+Enter) ( Vd: ô A1 có 3 giá trị NAM SON TUAN).
Mình muốn lấy 1 giá trị ở dòng đầu tiên qua ô bên cạnh.Mong mọi người giúp đỡ.

Thanks,
Lukegau
 
Chào mọi người,%#^#$

Mình gặp vấn đề trong 1 cell có input nhiều giá tri, và mỗi giá trị cách nhau bằng xuống dòng (Alt+Enter) ( Vd: ô A1 có 3 giá trị NAM SON TUAN).
Mình muốn lấy 1 giá trị ở dòng đầu tiên qua ô bên cạnh.Mong mọi người giúp đỡ.

Thanks,
Lukegau
Bạn dùng công thức này:
Mã:
=TRIM(LEFT(SUBSTITUTE(A1,CHAR(10),REPT(" ",100)),100))
 
Bạn dùng công thức này:
Mã:
=TRIM(LEFT(SUBSTITUTE(A1,CHAR(10),REPT(" ",100)),100))


Bạn ơi, có thể giải thích giúp mình ý nghĩa của công thức trên không. Mình cũng có vấn đề tương tự bài trên nhưng khi dùng công thức của bạn (vì mình không hiểu dùng như thế nào) nên nó chẳng ra kết quả như mình muốn. Có một chút khác là các giá trị cách nhau bằng space !$@!! (không phải bằng Alt + Enter)

Many thanks!
 
Bạn ơi, có thể giải thích giúp mình ý nghĩa của công thức trên không. Mình cũng có vấn đề tương tự bài trên nhưng khi dùng công thức của bạn (vì mình không hiểu dùng như thế nào) nên nó chẳng ra kết quả như mình muốn. Có một chút khác là các giá trị cách nhau bằng space !$@!! (không phải bằng Alt + Enter)

Many thanks!
Công thức này khá đơn giản. Tài liệu về các hàm trên diễn đàn rất nhiều, bạn có thể tự đọc và hiểu công dụng của các hàm.Tự tìm hiểu sẽ nhớ lâu hơn.
Vấn đề của bạn, lấy chuỗi trước ký tự Space đầu tiên. Bạn sửa lại như thế này:
Mã:
=TRIM(LEFT(SUBSTITUTE(A1," ",REPT(" ",100)),100))
 
Công thức này khá đơn giản. Tài liệu về các hàm trên diễn đàn rất nhiều, bạn có thể tự đọc và hiểu công dụng của các hàm.Tự tìm hiểu sẽ nhớ lâu hơn.
Vấn đề của bạn, lấy chuỗi trước ký tự Space đầu tiên. Bạn sửa lại như thế này:
Mã:
=TRIM(LEFT(SUBSTITUTE(A1," ",REPT(" ",100)),100))
Công thức này có 1 hạn chế, là kết quả luôn trả về 1 chuỗi có độ dài <=100, vậy nếu dữ liệu cần trả về mà >100 thì tèo.
 
Công thức này có 1 hạn chế, là kết quả luôn trả về 1 chuỗi có độ dài <=100, vậy nếu dữ liệu cần trả về mà >100 thì tèo.
--------
Hình như mỗi công thức đều có hạn chế, nó chỉ đúng với điều kiện dữ liệu cho trước, nếu dữ liệu "tự do" thì không thể dự kiến hết các tình huống được.
Ví dụ chỉ tách chữ đầu tiên trước khoảng trắng trong một chuỗi (ô A1), có thể dùng:
Mã:
=LEFT(A1;FIND(" ";A1))
Nhưng nếu người nhập sơ ý, nhập có một khoảng trắng đầu tiên trước chuỗi thì ... tèo.
Nếu dự trù tình huống này phải viết :
Mã:
=TRIM(LEFT(TRIM(A1);FIND(" ";TRIM(A1))))
Rồi có ai đó đặt ra tình huống khác nữa, chuỗi chỉ có một chữ rồi đến khoảng trắng, ... lại tèo.
Vì thế, hạn chế là phải có, chỉ cần biết vận dụng để khắc phục hạn chế trong đặc điểm dữ liệu của mình là đạt rồi.
-Trừ phi viết sản phẩm thương mại cho mọi đối tượng sử dụng-
Thân mến.
 
Công thức này có 1 hạn chế, là kết quả luôn trả về 1 chuỗi có độ dài <=100, vậy nếu dữ liệu cần trả về mà >100 thì tèo.
Quan điểm của tôi là mỗi bài toán có một công thức riêng để tối ưu. Công thức này tối ưu cho trường hợp này không có nghĩa là nó cũng tối ưu cho trường hợp khác, trừ trường hợp dữ liệu hoàn toàn giống nhau. Vì vậy, xem công thức của người khác không có nghĩa là bê nguyên công thức đó vào trường hợp của mình mà phải biết vận dụng, biến đổi cho phù hợp.
 
Quan điểm của tôi là mỗi bài toán có một công thức riêng để tối ưu. Công thức này tối ưu cho trường hợp này không có nghĩa là nó cũng tối ưu cho trường hợp khác, trừ trường hợp dữ liệu hoàn toàn giống nhau. Vì vậy, xem công thức của người khác không có nghĩa là bê nguyên công thức đó vào trường hợp của mình mà phải biết vận dụng, biến đổi cho phù hợp.
Đúng là phải biết vận dụng công thức trong từng trường hợp cụ thể, công thức này trên diễn đàn cũng có nhiều rồi, nhưng nếu yêu cầu là tách từ đầu tiên hoặc tách họ tên thì công thức này không có vấn đề gì. Nhưng bạn đọc lại yêu cầu cụ thể ở bài #1 kìa, họ muốn lấy 1 dòng đầu, mà 1 dòng thì bạn không thể khống chế chỉ tối đa 100 ký tự được. Vậy nếu vận dụng công thức cho trường hợp cụ thể này sao không phải là:
Mã:
=TRIM(LEFT(SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1))),LEN(A1)))
To Ba Tê: Có hạn chế nhưng biết rõ là có hạn chế đó vẫn tốt hơn, và nếu khắc phục được hạn chế đó thì càng tốt hơn nữa. Với vị dụ đó của bạn thì có thể dùng công thức này:
Mã:
=TRIM(LEFT(TRIM(A1),FIND(" ",TRIM(A1)&" ")))
 
Đúng là phải biết vận dụng công thức trong từng trường hợp cụ thể, công thức này trên diễn đàn cũng có nhiều rồi, nhưng nếu yêu cầu là tách từ đầu tiên hoặc tách họ tên thì công thức này không có vấn đề gì. Nhưng bạn đọc lại yêu cầu cụ thể ở bài #1 kìa, họ muốn lấy 1 dòng đầu, mà 1 dòng thì bạn không thể khống chế chỉ tối đa 100 ký tự được. Vậy nếu vận dụng công thức cho trường hợp cụ thể này sao không phải là:
Mã:
=TRIM(LEFT(SUBSTITUTE(A1,CHAR(10),REPT(" ",LEN(A1))),LEN(A1)))
Bạn có chắc là công thức trên đúng trong mọi trường hợp không? Và có trường hợp nào công thức của tôi ở bài #2 đúng và công thức trên của bạn sai không?

Không có công thức nào là hoàn hảo cả. Nó chỉ đúng trong một số trường hợp dữ liệu nhất định. Tùy vào từng trường hợp mà vận dụng cho đúng công thức mới là cái hay.

Và bạn mới cần đọc kỹ lại yêu cầu ở bài #1. Mỗi dòng là tên một người, có ai có tên hơn 100 ký tự không??
 
Lần chỉnh sửa cuối:
Bạn có chắc là công thức trên đúng trong mọi trường hợp không? Và có trường hợp nào công thức của tôi ở bài #2 đúng và công thức trên của bạn sai không?

Không có công thức nào là hoàn hảo cả. Nó chỉ đúng trong một số trường hợp dữ liệu nhất định. Tùy vào từng trường hợp mà vận dụng cho đúng công thức mới là cái hay.
Như tôi đã nói, có hạn chế nhưng biết rõ là có hạn chế đó thì vẫn tốt hơn. Diễn đàn là nơi để cùng nhau thảo luận, nếu thấy còn chỗ nào chưa hợp lý thì bạn cứ đóng góp chứ cần gì phải hỏi lại, tôi tham gia diễn đàn cũng là để học hỏi, nếu có hạn chế thì bạn cứ chỉ ra để mọi người cùng tham khảo, cảm ơn bạn trước!
 
Như tôi đã nói, có hạn chế nhưng biết rõ là có hạn chế đó thì vẫn tốt hơn. Diễn đàn là nơi để cùng nhau thảo luận, nếu thấy còn chỗ nào chưa hợp lý thì bạn cứ đóng góp chứ cần gì phải hỏi lại, tôi tham gia diễn đàn cũng là để học hỏi, nếu có hạn chế thì bạn cứ chỉ ra để mọi người cùng tham khảo, cảm ơn bạn trước!
Tôi hỏi lại vì tôi thấy dường như bạn rất chắc chắn về công thức của mình.
 

File đính kèm

Tôi hỏi lại vì tôi thấy dường như bạn rất chắc chắn về công thức của mình.
Đây là 1 phần hạn chế của excel, bạn đã nghĩ ra nó thì tôi nghĩ bạn đã hình dung ra là công thức của bạn cũng sẽ gặp chứ nhỉ, gửi lại file của bạn xem thử. Cái tôi muốn nói ở đây là logic thuật toán chứ không phải là hạn chế bởi chính excel.
 

File đính kèm

Các bác mải tranh luận mà quên một động tác là bấm "Thank". Theo tui thì một bài toán có nhiều cách giải và tùy yêu cầu mà ta dùng công thức hoặc lồng thêm các hàm cho phù hợp. Tiêu chí là ngắn gọn vàc chạy nhanh. Thanks
 
Đây là 1 phần hạn chế của excel, bạn đã nghĩ ra nó thì tôi nghĩ bạn đã hình dung ra là công thức của bạn cũng sẽ gặp chứ nhỉ, gửi lại file của bạn xem thử. Cái tôi muốn nói ở đây là logic thuật toán chứ không phải là hạn chế bởi chính excel.
Tôi đâu có nói là công thức của tôi hoàn hảo. Nhắc lại một lần nữa ý kiến của tôi: Tùy từng trường hợp cụ thể mà sử dụng công thức cho hợp lý bỡi không có công thức nào là hoàn hảo cả. Chỉ cần đảm bảo công thức cho kết quả đúng trong phạm vi dữ liệu là được. Đừng vẽ ra những trường hợp ngoài dữ liệu thực tế rồi nghĩ cách khắc phục. Mất thời gian, công sức nhưng hoàn toàn vô ích.
 
Các bác mải tranh luận mà quên một động tác là bấm "Thank". Theo tui thì một bài toán có nhiều cách giải và tùy yêu cầu mà ta dùng công thức hoặc lồng thêm các hàm cho phù hợp. Tiêu chí là ngắn gọn vàc chạy nhanh. Thanks
Câu nói hay nhất trong topic này... Ẹc... Ẹc...
"Thò tay" bấm được vào nút CẢM ƠN xem ra còn khó khăn hơn là nghĩ ra 1 công thức ---> Ngoài việc biết ơn ai đó, nó còn thể hiện được tinh thần CHIA SẺ ---> Cái mà GPE đang theo đuổi
Cái này liệu ta có nên.. HỌC hay không nhỉ?
 
Lần chỉnh sửa cuối:
Câu nói hay nhất trong topic này... Ẹc... Ẹc...
"Thò tay" bấm được vào nút CẢM ƠN xem ra còn khó khăn hơn là nghĩ ra 1 công thức ---> Ngoài việc biết ơn ai đó, nó còn thể hiện được tinh thần CHIA SẺ ---> Cái mà GPE đang theo đuổi
Cái này liệu ta có nên.. HỌC hay không nhỉ?
Tôi chỉ cảm ơn khi nhận được thông tin hữu ích. Không có thói quen cái gì cũng cảm ơn. Nhiều người câu bài, hoặc trả lời đâu đâu mà vẫn cảm ơn làm họ cứ tưởng mình đang làm đúng và cứ tiếp tục phát huy --=0--=0--=0
 
Tôi chỉ cảm ơn khi nhận được thông tin hữu ích. Không có thói quen cái gì cũng cảm ơn. Nhiều người câu bài, hoặc trả lời đâu đâu mà vẫn cảm ơn làm họ cứ tưởng mình đang làm đúng và cứ tiếp tục phát huy --=0--=0--=0
Mính hỏi bạn nha: Có phải là khi bạn vào GPE này thì trình độ Excel của bạn mới tăng lên (nếu đã giỏi trước thì cần gì vào đây), Đúng không?
Và kiến thức mà bạn đã học từ các thành viên cũng không ít, chắc chắn không thể gói gọn trong 75 lần cảm ơn của bạn đối với các thành viên ---> Tôi nói đúng chứ?
Đúng là mỗi người mỗi ý, chẳng ai giống ai bao giờ
Chỉ 2 tiếng CẢM ƠN và XIN LỔI, xem ra học cả đời vẫn không hết
 
Lần chỉnh sửa cuối:
Mính hỏi bạn nha: Có phải là khi bạn vào GPE này thì trình độ Excel của bạn mới tăng lên (nếu đã giỏi trước thì cần gì vào đây), Đúng không?
Và kiến thức mà bạn đã học từ các thành viên cũng không ít, chắc chắn không thể gói gọn trong 75 lần cảm ơn của bạn đối với các thành viên ---> Tôi nói đúng chứ?
Đúng là mỗi người mỗi ý, chẳng ai giống ai bao giờ
Chỉ 2 tiếng CẢM ƠN và XIN LỔI, xem ra học cả đời vẫn không hết
Đúng là mỗi người mỗi ý. Tôi không bàn cãi nhiều về vấn đề này nữa. Trước sao giờ vẫn vậy. Cốt sao không thấy hổ thẹn với chính mình là được rồi.
 
Các anh chị ơi giúp em giải quyết cái này với ạ, em nhập dữ liệu trong máy thì nó vẫn chia thành từng ô bình thường, nhưng khi chuyển đuôi .xls sang .csv thì nó thành ra thế này.
loi excel1.JPG
Có ai biết về lỗi này thì giúp em với ạ, e nhập số liệu để phân tích mà ấn vào nó có mỗi cột đầu tiên là có giả trị và nó gộp hết với nhau. hic2
 
Các anh chị ơi giúp em giải quyết cái này với ạ, em nhập dữ liệu trong máy thì nó vẫn chia thành từng ô bình thường, nhưng khi chuyển đuôi .xls sang .csv thì nó thành ra thế này.

Có ai biết về lỗi này thì giúp em với ạ, e nhập số liệu để phân tích mà ấn vào nó có mỗi cột đầu tiên là có giả trị và nó gộp hết với nhau. hic2
File của bạn có lỗi gì đâu, đó là kiểu file text phân cách nhau bởi dấu ; - khi mở băng E, bạn chọn phân tách bởi ; thì E sẽ đọc lại như cũ. Nếu phân tích bằng E thì đừng chuyển file.
 
Web KT

Bài viết mới nhất

Back
Top Bottom