Chỉ định một phân loại trên một ô tùy thuộc vào chuỗi


0

tôi sẽ cố gắng xác định những gì tôi muốn làm,
tôi đã nhận được một tập tin lớn báo cáo văn bản báo động từ các loại hệ thống khác nhau

i colum đầu tiên tôi nhận được báo thức (1 dòng = 1 văn bản báo động)
tôi muốn liên kết một phân loại (trên cột thứ 2) tùy thuộc vào một số trích xuất từ ​​văn bản báo động

ví dụ: nếu từ aaaa xuất hiện trong báo thức thì phân loại phải là "A", nếu bbbb có mặt thì phân loại phải là "B"; .....

tôi có nhiều danh mục, hơn 50 ... và tôi muốn có thể thêm danh mục mới nếu cần

tôi tìm thấy một "giải pháp" với loại công thức này

IF(ISNUMBER(SEARCH("Wafer not";BD2));"HANDLING";"UKN")

BD2 là nơi lưu trữ văn bản báo động y

==> về cơ bản tôi đã bao gồm một công thức mới bên trong công thức trước để bao gồm tất cả các danh mục

nó trông như thế (chỉ là một trích xuất) :;

IF(ISNUMBER(SEARCH("mixing";BD2));"CC MIXING ALARM";IF(ISNUMBER(SEARCH("port";BD2));"LP ERROR";IF(ISNUMBER(SEARCH("mass flow";BD2));"MFC";IF(ISNUMBER(SEARCH("CC comm";BD2));"CC COMMUNICATION";IF(ISNUMBER(SEARCH("unclear";BD2));"UNCLEARED ALARM";IF(ISNUMBER(SEARCH("door";BD2));"COVER";IF(ISNUMBER(SEARCH("wafer level sens";BD2));"WAFER LEVEL SENSOR";IF(ISNUMBER(SEARCH("tank A";BD2));"COOLING TANK";IF(ISNUMBER(SEARCH("tank B";BD2));"COOLING TANK";IF(ISNUMBER(SEARCH("hdiw-unit";BD2));"HDIW UNIT";IF(ISNUMBER(SEARCH("labyrinth";BD2));"LABYRINTH ERROR";IF(ISNUMBER(SEARCH("FAN";BD2));"FAN";IF(ISNUMBER(SEARCH("handling";BD2));"HANDLING";IF(ISNUMBER(SEARCH("process has stopped";BD2));"PROCESS STOP";"UKN")))))))))))))

==> nhưng nó thực sự xấu xí ;-) .... nếu nếu nếu nếu nếu .....

Tôi khá chắc chắn một cái gì đó đẹp hơn và thông minh hơn có thể tồn tại

nếu bạn có ý tưởng giúp tôi thì thật tuyệt

Cảm ơn trước sự giúp đỡ của bạn

Trân trọng

Câu trả lời:


0

Đây là một công thức mảng bạn có thể sử dụng:
=INDEX(Table2[[#All],[category]],MAX(IF(ISNUMBER(SEARCH(Table2[[#All],[word]],D2)),ROW(Table2[[#All],[word]]),"")))

  • IF(ISNUMBER(SEARCH(Table2[[#All],[word]],D2)),ROW(Table2[[#All],[word]]),"")- tìm kiếm từng Wordtrong văn bản của bạn, trả về số hàng nếu tìm thấy, "" (chuỗi trống) nếu không tìm thấy
  • MAX(IF(...))- chọn số lớn nhất được trả về bởi IF(nếu nhiều danh mục được khớp, thì danh mục cuối cùng được trả về)
  • =INDEX(Table2[[#All],[category]],MAX(...)) - trả về danh mục từ hàng tương ứng
  • đó là một công thức mảng, vì vậy bạn cần nhấn CTRL+ SHIFT+ ENTERđể chèn nó.

Để sử dụng điều đó, bạn cần chuyển đổi phạm vi chứa từ khóa và danh mục thành bảng (bảng chèn), bạn có thể cần thay đổi tên bảng trong công thức của mình.

nhập mô tả hình ảnh ở đây

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.