Hàm IF với 2 điều kiện

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

amitran

Thành viên mới
Tham gia
9/4/10
Bài viết
7
Được thích
0
VD:
cột A1 có: AAA001
Cột B1 có: AAA011
Cột A2 có: AAA001
Cột B2 có: BBB040
Em muốn so sánh nếu cột A>B thì cột C sẽ là : AAA001 - AAA011, NẾU A<B thì cột C sẽ ngược lại Đồng thời nếu so sánh tiếp tục gặp B2 là BBB.. thì AAA001 - BBB040 (tức cột A sẽ đứng trước cột B mà không cần so sánh lớn hay nhỏ hơn). Đây là text không phải số nha các anh
Nhờ anh chị
 

File đính kèm

VD:
cột A1 có: AAA001
Cột B1 có: AAA011
Cột A2 có: AAA001
Cột B2 có: BBB040
Em muốn so sánh nếu cột A>B thì cột C sẽ là : AAA001 - AAA011, NẾU A<B thì cột C sẽ ngược lại Đồng thời nếu so sánh tiếp tục gặp B2 là BBB.. thì AAA001 - BBB040 (tức cột A sẽ đứng trước cột B mà không cần so sánh lớn hay nhỏ hơn). Đây là text không phải số nha các anh
Nhờ anh chị

Bạn dùng cái này tại E7:
PHP:
=IF(CODE(B7)<CODE(C7),B7&" - "&C7,IF(CODE(B7)>CODE(C7),C7&" - "&B7,IF(RIGHT(B7,3)>RIGHT(C7,3),C7&" - "&B7,B7&" - "&C7)))
Xem thêm file
 

File đính kèm

Trước tiên cám ơn bạn rất nhiều, hàm chạy rất OK ngon lành nhưng mình còn khúc mắc quá, ấm ức chưa hiểu rõ nhờ bạn giải thích giúp.
Theo như hàm chúng ta thì:
Thứ 1: CODE (nghĩa như là như thế nào)
Thứ 2: Theo như định nghĩa hàm IF thì IF(logical_test, value_if_true, [value_if_false]). Ý mình là không tìm được lời giải so với hàm bạn đã làm, đâu là logical, đâu là value true, đâu là value false
 
Trước tiên cám ơn bạn rất nhiều, hàm chạy rất OK ngon lành nhưng mình còn khúc mắc quá, ấm ức chưa hiểu rõ nhờ bạn giải thích giúp.
Theo như hàm chúng ta thì:
Thứ 1: CODE (nghĩa như là như thế nào)
Thứ 2: Theo như định nghĩa hàm IF thì IF(logical_test, value_if_true, [value_if_false]). Ý mình là không tìm được lời giải so với hàm bạn đã làm, đâu là logical, đâu là value true, đâu là value false

Thứ 1: Hàm CODE trong trường hợp này trả về mã số ký tự đầu tiên của chuỗi.
dụ: CODE(B7) = CODE("A") = 65, bạn test các trường hợp khác như B, X,...
Thứ 2: =IF(CODE(B7)<CODE(C7),B7&" - "&C7,IF(CODE(B7)>CODE(C7),C7&" - "&B7,IF(RIGHT(B7,3)>RIGHT(C7,3),C7&" - "&B7,B7&" - "&C7)))
CODE(B7)<CODE(C7) = logical nếu True sẽ là B7&" - "&C7, nếu false dùng tiếp If - tròng hàm If này tiếp tục logical = CODE(B7)>CODE(C7) nếu true là C7&" - "&B7, tiếp tục các If như vậy nếu có nhiều điều kiện hơn...
 
View attachment Copy of help(2).xls
Nhờ bạn kiểm tra lại hàm xem thế nào? Không biết sao VD thì hàm chay ngon lành nhưng khi bắt đầu đưa dữ liệu chạy thử thì NOK. Cài lại luôn office muh cũng hổng được....
 
View attachment 48102
Nhờ bạn kiểm tra lại hàm xem thế nào? Không biết sao VD thì hàm chay ngon lành nhưng khi bắt đầu đưa dữ liệu chạy thử thì NOK. Cài lại luôn office muh cũng hổng được....

Đáng ra bạn phải đưa tổng thể hết thảy dữ liệu lên từ đầu, tôi có biết dữ liệu còn lại của bạn là như thế nào đâu:
Ví dụ" Theo như yêu cầu trước A phải trước B,... tương tự C phải trước D đúng không?
Nhưng đến yêu cầu này bạn lại muốn T... trước M... (trong khi đó đúng theo thứ tự kiểu bạn mô tả thì phải là M...T)
Thế này nhé: Bạn gửi hết tất cả các trường hợp & ghi rõ yêu cầu trong đó may ra mới làm một cái tổng thể được !
 
Đáng ra bạn phải đưa tổng thể hết thảy dữ liệu lên từ đầu, tôi có biết dữ liệu còn lại của bạn là như thế nào đâu:
Ví dụ" Theo như yêu cầu trước A phải trước B,... tương tự C phải trước D đúng không?
Nhưng đến yêu cầu này bạn lại muốn T... trước M... (trong khi đó đúng theo thứ tự kiểu bạn mô tả thì phải là M...T)
Thế này nhé: Bạn gửi hết tất cả các trường hợp & ghi rõ yêu cầu trong đó may ra mới làm một cái tổng thể được !

Hihihi, mình cũng hổng ngờ lại như vậy. Mình add dữ liệu bạn xem giúp dùm nhé.
 

File đính kèm

Hihihi, mình cũng hổng ngờ lại như vậy. Mình add dữ liệu bạn xem giúp dùm nhé.

Sửa lại 1 chút, dùng tại Ô E18, bảng mới gửi của bạn & fill xuống:
=IF(CODE(B18)>CODE(C18),B18&" - "&C18,IF(CODE(B18)<CODE(C18),C18&" - "&B18,IF(RIGHT(TRIM(B18),3)>RIGHT(TRIM(C18),3),C18&" - "&B18,B18&" - "&C18)))
 
Sửa lại 1 chút, dùng tại Ô E18, bảng mới gửi của bạn & fill xuống:
=IF(CODE(B18)>CODE(C18),B18&" - "&C18,IF(CODE(B18)<CODE(C18),C18&" - "&B18,IF(RIGHT(TRIM(B18),3)>RIGHT(TRIM(C18),3),C18&" - "&B18,B18&" - "&C18)))

-0-/.-0-/.Đã trích được giá trị TNGA đứng trước rồi nhưng điều kiện khác thì không được. Mình gởi lại file đã fill
 

File đính kèm

-0-/.-0-/.Đã trích được giá trị TNGA đứng trước rồi nhưng điều kiện khác thì không được. Mình gởi lại file đã fill

Trời, cái *0.3 của bạn lấy ở đâu vậy?
=IF(CODE(B18)>CODE(C18),B18&" - "&C18,IF(CODE(B18)<CODE(C18),C18&" - "&B18,IF(RIGHT(TRIM(B18)*0.3)>RIGHT(TRIM(C18)*0.3),C18&" - "&B18,B18&" - "&C18)))

Công thức ở bài #8 cơ mà !
 
Trời, cái *0.3 của bạn lấy ở đâu vậy?

Công thức ở bài #8 cơ mà !


Bây giờ ta có thêm 1 vấn đề nữa như file VD gởi...mình muốn tách ra như kết quả ô màu xanh lục...nghĩ mãi không biết làm cách nào. Ta đã gộp lại được thì cũng phải tách được phải hông pác. Mình có ý nhưng làm mãi không ra nên nhờ pác nghĩ phụ đây.
 

File đính kèm

Bây giờ ta có thêm 1 vấn đề nữa như file VD gởi...mình muốn tách ra như kết quả ô màu xanh lục...nghĩ mãi không biết làm cách nào. Ta đã gộp lại được thì cũng phải tách được phải hông pác. Mình có ý nhưng làm mãi không ra nên nhờ pác nghĩ phụ đây.

Pó...
Gộp lại - tách ra, tách ra - gộp lại => Thua bạn luôn !
Đâm lao theo lao...
1. Tách vế bên trái dấu -
=LEFT(E33,FIND("-",E33)-2)

2. Tách vế bên phải dấu -
=RIGHT(E33,LEN(E33)-FIND("-",E33)-1) hoặc =TRIM(RIGHT(E33,LEN(E33)-FIND("-",E33)))
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom