ThuyTrang79
Thành viên hoạt động



- Tham gia
- 13/2/20
- Bài viết
- 140
- Được thích
- 26
Dạ CT chạy OK ạ, mà còn trường hợp nếu chuỗi kí tự này nằm ở cuối cùng đoạn text thì nó chưa tìm ra ạ, nhờ anh giúp thêm em với ạ, cảm ơn anh !Thử xem
C2=IFERROR(MID(B2;FIND("T";B2);9);"") Enter và filldown
Không phải không ra mà ra cái khác đúng không?Dạ vd cụm từ "Trừ tiền đơn hàng T13540857" sao nó ko lọc ra dc chuỗi kí tự ạ
Dạ anh, ko hiểu do lỗi gì ạ, nhờ anh sửa hộ thêm CT với ạ.Không phải không ra mà ra cái khác đúng không?
Kết quả là "Trừ tiền đ", vì công thức đang tìm chuỗi bắt đầu bằng "T"
=IFERROR("T"&LOOKUP(10000000000,--MID(B2,MIN(FIND({0;1;2;3;4;5;6;7;8;9},B2&1234567890)),ROW(INDIRECT("1:"&LEN(B2))))),"")
Dạ anh thêm điều kiện chuỗi 9 kí tự này liên tục bắt đầu bằng chữ T, và loại trừ các trường hợp kí tự trong chuỗi như chấm, phảy, khoảng cách ạKhông phải không ra mà ra cái khác đúng không?
Kết quả là "Trừ tiền đ", vì công thức đang tìm chuỗi bắt đầu bằng "T"
Dạ CT này cho KQ sai ở trường hợp chuỗi text sauCó lẽ lại phải dùng công thức thủ công lọc số chuỗi ký tự tại C2 :
Mã:=IFERROR("T"&LOOKUP(10000000000,--MID(B2,MIN(FIND({0;1;2;3;4;5;6;7;8;9},B2&1234567890)),ROW(INDIRECT("1:"&LEN(B2))))),"")
Bạn đã đưa tất cả các trường hợp lên chưa ? Hay lát nữa lại còn trường hợp nào nữa ?Dạ anh thêm điều kiện chuỗi 9 kí tự này liên tục bắt đầu bằng chữ T, và loại trừ các trường hợp kí tự trong chuỗi như chấm, phảy, khoảng cách ạ
Bài đã được tự động gộp:
Dạ CT này cho KQ sai ở trường hợp chuỗi text sau
KH 0904930108 trong đơn hàng T13532316 chưa LH lại, thì KQ hiện thị sai là T904930108
Hoặc đoạn text có 1 chuỗi kí tự số nào đó, nó tự lấy chuỗi số đó ghép với T hiển thị KQ
Nên cho KQ chưa đúng lắm ạ
Dạ đúng là quy luật chuỗi kí tự liên tiếp "T" với 8 con số sau ạKhông phải không ra mà ra cái khác đúng không?
Kết quả là "Trừ tiền đ", vì công thức đang tìm chuỗi bắt đầu bằng "T"
Giải quyết được nếu bạn xác nhận quy luật: đơn hàng bắt đầu bằng "T" với 8 con số theo sau?
Dạ là quy luật tìm chuỗi kí tự liên tiếp "T" với 8 con số sau ạBạn đã đưa tất cả các trường hợp lên chưa ? Hay lát nữa lại còn trường hợp nào nữa ?
Có chuỗi nào thế này không thì cả nhà mới giúp bạn được?KH 0904930108 trong đơn hàng T13532316 chưa LH lại
Với dữ liệu như bạn gửi . Dùng tạm công thức nàyDạ vd cụm từ "Trừ tiền đơn hàng T13540857" sao nó ko lọc ra dc chuỗi kí tự ạ
Phải tính đến trường hợp tổng quát này. Sẽ áp cho tất cả các trường hợp.Có chuỗi nào thế này không thì cả nhà mới giúp bạn được?
"KH 0904930108 ở dãy T5 sát bên nhà T3 sẽ đi du lịch vào ngày T7 thường được gọi là Ttái trong đơn hàng T13532316 chưa LH lại"
"Thật là Tê Tái khi gặp trường hợp như đơn hàng T0123456789 từ chối nhận hàng nên tạm giao cho đơn T99999999"Phải tính đến trường hợp tổng quát này. Sẽ áp cho tất cả các trường hợp.
Dạ ko có trường hợp 2 mã đơn hàng xuất hiện trong đoạn text như này ạ."Thật là Tê Tái khi gặp trường hợp như đơn hàng T0123456789 từ chối nhận hàng nên tạm giao cho đơn T99999999"
Dạ là quy luật tìm chuỗi kí tự liên tiếp "T" với 8 con số sau ạ, loại trừ các trường hợp có dấu chấm, phảy, khoảng cách ạPhải tính đến trường hợp tổng quát này. Sẽ áp cho tất cả các trường hợp.
Dạ CT ra kết quả OK rồi ạ, nếu có thể cho em xin thêm CT tham khảo thêm ạ.Với dữ liệu như bạn gửi . Dùng tạm công thức này
C2=IFERROR(IF(ISNUMBER(--MID(B9;FIND("T";B9;2)+1;1));MID(B9;FIND("T";B9;2);9);"");"") Enter và filldown
Số 2 (tô đậm) ở trong công thức trên không ổn. Nếu dữ liệu có nhiều chữ "T", thì không ra kết quả.
Hy vọng các thành viên khác giúp được bạn
Dạ Ok rồi ạ.
Mấy bác làm em không nhịn được cười nữa. Mấy bạn ngồi đối diện hỏi có vấn đề hay sao cứ cười 1 mìnhDạ Ok rồi ạ.
Nhưng mà mỏi tay quá, bắt đền anh đấy. Làm sao đấy thì làm.
=IF(LEFT(B2;11)="Steel Plate";"GHỴK";IF(LEFT(B2;7)="V Steel";"TYUF";""))Cho em chen ngang hỏi công thức này cái nha.
Nếu 11 ký tự bên trái của B2 mà là "Steel Plate" thì C2 là "GHỴK" , nếu 7 ký tự bên trái của B2 là "V Steel" thì C2 là "TYUF", còn không có các giá trị đó thì C2 rổng ạ.
Tham khảo :Cho em chen ngang hỏi công thức này cái nha.
Nếu 11 ký tự bên trái của B2 mà là "Steel Plate" thì C2 là "GHỴK" , nếu 7 ký tự bên trái của B2 là "V Steel" thì C2 là "TYUF", còn không có các giá trị đó thì C2 rổng ạ.
Những hàm dùng đồ cổ này không cần lưu lại.Lưu lại biết đâu sau này sẽ có lúc cần đến.
...
Những hàm dùng đồ cổ này không cần lưu lại.
Dạ công thức chạy OK, em cảm ơn anh ạ !Thử công thức này coi chạy dc ko, nếu ko nhớ bấm ctrl shift enter
Mã:=IFERROR("T"&MID(B2;MIN(IFERROR(FIND("T"&{0;1;2;3;4;5;6;7;8;9};B2)+1;""));8);"")
View attachment 288771
Bỏ rơi ẻm T0123456789 để lấy chị T12345678
Người ta chỉ nói "công thứ chạy OK" chứ đã ô kê kết quả đâu?Lạ nhỉ. Công thức hổng ô kê cũng cảm ơn =)))))
Dạ công thức chạy ra KQ OK em cảm ơn toàn thể anh chị nhiệt tình giúp đỡ ạ !Người ta chỉ nói "công thứ chạy OK" chứ đã ô kê kết quả đâu?
Có hàm UDF đó bạn.Ngoài hàm IF, có thể sử dụng hàm nào khác không các anh?
Câu trả lời bài #34 cũng vẫn được em à.Nãy em copy lộn anh @Hoàng Tuấn 868 ơi
Tức là dùng hàm UDF cũng vẫn được em à.Là sao anh, em không hiểu, công thức bài 33 đó anh.
Ý là bạn mở chủ đề mới và nhờ yêu cầu viết hàm vba thay cho hàm if này.Là sao anh, em không hiểu, công thức bài 33 đó anh.
Không phải vậy đâu, chẳng qua là để trả lời cho câu hỏi có hàm nào khác thay cho hàm IF hay không thôi mà.Ý là bạn mở chủ đề mới và nhờ yêu cầu viết hàm vba thay cho hàm if này.
Dạo này đang nở rộ trào lưu viết vba thay cho vê lúc kấp, thay cho cao íp.
Dùng công thức này nha chị, đừng kêu em gắn hộ công thức vào file nữa nhaEm chào anh chị
Em có gởi file VD kèm, em cần CT cột C, tìm chuỗi kĩ tự có 9 kí tự bắt đầu bằng chữ T.
Nhờ anh chị giúp hộ em CT, em cảm ơn anh chị nhiều ạ !
=INDEX("T"&VALUE(MID(B2,SEQUENCE(LEN(B2)),8)),MATCH(9,LEN("T"&VALUE(MID(B2,SEQUENCE(LEN(B2)),8))),0))
Trường hợp tổng quát, có 2 đơn thì lôi ra 2 đơn:Có chuỗi nào thế này không thì cả nhà mới giúp bạn được?
"KH 0904930108 ở dãy T5 sát bên nhà T3 sẽ đi du lịch vào ngày T7 thường được gọi là Ttái trong đơn hàng T13532316 chưa LH lại"
=LET(dh,MID(B2,SEQUENCE(LEN(B2)),9),TEXTJOIN(", ",,IF((LEFT(dh,1)="T")*(ISNUMBER(VALUE(RIGHT(dh,8)))),dh,"")))
Khả năng là vẫn còn nhưng dùng hàm đó cũng được rồi em.Tức là ngoài hàm IF ra, không còn hàm nào hả anh @Hoàng Tuấn 868 , như hàm lookup, hay Find.
IF là hàm hiệu quả nhất trong tất cả các hàm. Bởi vì nó có khả năng ngưng xét tiếp ở chỗ thỏa điều kiện, hầu hết các hàm khác, tuy trông gọn hơn nhưng vì bắt buộc phải tính từ đầu đến cuối nên không jieeuj quả bằng.. Nếu không phải vì lý do dài quá thì không nên tìm cách thay thế.Ngoài hàm IF, có thể sử dụng hàm nào khác cho công thức dưới không các anh?
C2=IF(LEFT(B2;11)="Steel Plate";"GHYK";IF(LEFT(B2;7)="V Steel";"TYUF";""))