Help! Lọc 1 trong các text từ chuỗi text! (1 người xem)

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

phuoctran1192

Thành viên mới
Tham gia
25/3/16
Bài viết
5
Được thích
0
[TABLE="width: 155"]
[TR]
[TD="class: et2, width: 155"]Giả sử em có 3 ô với dữ liệu từng ô thế này.
Làm thế nào để tách chữ in đỏ ra ( chỉ giới hạn trong P1, P2, NA )

20151228_SAL-RA_WS_daaaasfsafasfasfa2812_P1_zilandi.gif[/TD]
[/TR]
[TR]
[TD="class: et2, width: 155"]20151228_SAL-NA_letupletupo50off2812_P2_NA.jpg[/TD]
[/TR]
[TR]
[TD="class: et2, width: 155"]20151228_SUB_MC_letupptoletupf2812_NA_NA.jpg

Em cám ơn![/TD]
[/TR]
[/TABLE]
 
dùng hàm: Mid(text, stt ký tự đầu tiên từ bên trái qua, số lượng ký tự text muốn tách)
 
[TABLE="width: 155"]
[TR]
[TD="class: et2, width: 155"]Giả sử em có 3 ô với dữ liệu từng ô thế này.
Làm thế nào để tách chữ in đỏ ra ( chỉ giới hạn trong P1, P2, NA )

20151228_SAL-RA_WS_daaaasfsafasfasfa2812_P1_zilandi.gif[/TD]
[/TR]
[TR]
[TD="class: et2, width: 155"]20151228_SAL-NA_letupletupo50off2812_P2_NA.jpg[/TD]
[/TR]
[TR]
[TD="class: et2, width: 155"]20151228_SUB_MC_letupptoletupf2812_NA_NA.jpg

Em cám ơn![/TD]
[/TR]
[/TABLE]
theo như cách bố trí trong file thì có thể xem ví dụ này
 

File đính kèm

Cám ơn các bác đã giúp. Em xin lỗi em thiếu 1 trường hợp nữa, có 1 ô thế này:[TABLE="width: 155"]
[TR]
[TD="class: et3, width: 155"]20151228_GPA_MA_Lasdggdsgao70off2812_P1_NA_Men.jpg[/TD]
[/TR]
[/TABLE]

dùng công thức của các bác thì nó ra NA nhưng em cần P1
 
em định viết bằng hàm if như thế này:

=if(find("_P1_",A1)<>0,"P1",if(find("_P2_",A1)<>0,"P2","NA"))

vì chỉ cần tìm 3 giá trị đó thôi, nhưng mà nó k chạy.
 
Rút tất cả theo đúng thứ tự trong chuỗi. Cái này bác Vetmini có biểu thức tổng quát rất hay nhưng mình vẫn thích dùng cách của mình hơn. Hên xui không đúng ý chủ thớt cũng lượn}}}}}
 

File đính kèm

em định viết bằng hàm if như thế này:

=if(find("_P1_",A1)<>0,"P1",if(find("_P2_",A1)<>0,"P2","NA"))

vì chỉ cần tìm 3 giá trị đó thôi, nhưng mà nó k chạy.

Hàm find sẽ trả về giá trị lỗi nếu ko tìm thấy chuỗi cần tìm, ( nó khác với hàm Instr trong Vba)
có 2 giải pháp :
1- sử dụng bẫy lỗi iferrors
2- sử dụng hàm subtitle thay thế hàm find!
 
em định viết bằng hàm if như thế này:

=if(find("_P1_",A1)<>0,"P1",if(find("_P2_",A1)<>0,"P2","NA"))

vì chỉ cần tìm 3 giá trị đó thôi, nhưng mà nó k chạy.

sửa công thức thành như vậy :
PHP:
=IF(SUBSTITUTE(A1,"_P1_","")<>A1,"P1",IF(SUBSTITUTE(A1,"_P2_","")<>A1, "P2","NA"))
 
sửa công thức thành như vậy :
PHP:
=IF(SUBSTITUTE(A1,"_P1_","")<>A1,"P1",IF(SUBSTITUTE(A1,"_P2_","")<>A1, "P2","NA"))
Nếu dữ liệu mà như này thì +-+-+-+. Chờ đợi phát sinh bạn nhỉ?
Mã:
20151228_SUB_[COLOR=#ff0000][B]P1[/B][/COLOR]_letupptoletupf2812_[COLOR=#ff0000][B]NA[/B][/COLOR]_NA.jpg
 
Mã:
=INDEX({"P1","P2","NA",""},MATCH(TRUE,ISNUMBER(SEARCH({"_P1_","_P2_","_NA_","*"}, A1)),0))

Chú ý:
1. dấu sao (*) trong cái array thứ nhì dùng để ép search trả về một trị nếu không tìm được. Có như vậy hàm match mới match được vào vị trí thứ 4
2. Search tìm theo kiểu không phân biệt hoa/thường. Nếu muốn phân biệt thì dùng find.
 

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

Back
Top Bottom