Hướng dẫn viết công thức với một trong hai điều kiện (1 người xem)

Liên hệ QC

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

phamvandunghp84

Thành viên thường trực
Tham gia
5/3/20
Bài viết
241
Được thích
12
nếu ( CP165=0 hoặc CP165 lỗi #N/A thì giá trị trả về là Min(CH165;CI165); trường hợp CH165 hoặc CI165 lỗi thì giá trị trả về là CP165

=IF((CP165=0)Or(iserror(CP165)));MIN(CH165;CI165);IFERROR((MIN(CH165;CP165));CP165))

Mình viết như trên mà không đúng, nhờ các bạn sửa giùm !
 
nếu ( CP165=0 hoặc CP165 lỗi #N/A thì giá trị trả về là Min(CH165;CI165); trường hợp CH165 hoặc CI165 lỗi thì giá trị trả về là CP165

=IF((CP165=0)Or(iserror(CP165)));MIN(CH165;CI165);IFERROR((MIN(CH165;CP165));CP165))

Mình viết như trên mà không đúng, nhờ các bạn sửa giùm !
If(or((......). Sao lại viết như trên.
 
IF(or(đk1;đk2);KQ1;KQ2)
 
nếu ( CP165=0 hoặc CP165 lỗi #N/A thì giá trị trả về là Min(CH165;CI165); trường hợp CH165 hoặc CI165 lỗi thì giá trị trả về là CP165

=IF((CP165=0)Or(iserror(CP165)));MIN(CH165;CI165);IFERROR((MIN(CH165;CP165));CP165))

Mình viết như trên mà không đúng, nhờ các bạn sửa giùm !
Đọc dòng đỏ trên, tự bạn kiểm lại đã thấy rối rồi, hãy viết nó 1 cách rõ ràng, ssau đó xem kỹ sử dụng OR như thế nào
 
Cái đề bài của bạn ấy chưa đủ, nếu CP CH đều lỗi tức là hai điều kiện đều đúng thì nó là cái gì, thứ hai nếu cả hai điều kiện đều không đúng thì kết quả là gì
 
Đọc dòng đỏ trên, tự bạn kiểm lại đã thấy rối rồi, hãy viết nó 1 cách rõ ràng, ssau đó xem kỹ sử dụng OR như thế nào

mình muốn: nếu CP166 = 0 hoặc CP166 lỗi #N/A thì giá trị trả về là Min (CH166;CI166)

bạn ơi sao mình viết như này cũng không đúng nhỉ?

=IF(OR(CP166=0;ISNA(CP166));MIN(CH166;CI166))
 
mình muốn: nếu CP166 = 0 hoặc CP166 lỗi #N/A thì giá trị trả về là Min (CH166;CI166)

bạn ơi sao mình viết như này cũng không đúng nhỉ?

=IF(OR(CP166=0;ISNA(CP166));MIN(CH166;CI166))
Còn cần trái lại thì sao?
mình muốn: nếu CP166 = 0 hoặc CP166 lỗi #N/A thì giá trị trả về là Min (CH166;CI166), TRÁI LẠI THÌ .............(???)

Và công thức đó đặt ở ô nào (???)

=IF(OR(CP166=0;ISNA(CP166));MIN(CH166;CI166) ; <Giá trị TRÁI LẠI>)
 
=IF(IFNA(CP166;0)=0;MIN(CH166:CI166))
 
Cái đề bài của bạn ấy chưa đủ, nếu CP CH đều lỗi tức là hai điều kiện đều đúng thì nó là cái gì, thứ hai nếu cả hai điều kiện đều không đúng thì kết quả là gì

mình muốn như này:
1/ nếu ô A1 =0 =>thì đáp số là Min (B1;C1)
2/ nếu ô A1 = #N/A => thì đáp số cũng là Min (B1;C1)

vậy mình viết công thức như sau :
if
Còn cần trái lại thì sao?
mình muốn: nếu CP166 = 0 hoặc CP166 lỗi #N/A thì giá trị trả về là Min (CH166;CI166), TRÁI LẠI THÌ .............(???)

Và công thức đó đặt ở ô nào (???)

=IF(OR(CP166=0;ISNA(CP166));MIN(CH166;CI166) ; <Giá trị TRÁI LẠI>)

công thức mình đặt ở ô CJ166 bạn ạ. mình viết như này vẫn k đúng.

=IF(OR(CP166=0;ISNA(CP166));MIN(CH166;CI166);MIN(CH166;CI166;CP166))

( diễn giải mong muốn:
nếu CP166=0 hoặc CP166 lỗi #N/A thì trả về giá trị nhỏ nhất trong hai giá trị CH166, CI166.
Nếu CP166 khác 0 và không bị lỗi #N/A thì trả về giá trị nhỏ nhất trong 3 giá trị ( CH166; CI166; CP166)

bạn viết giúp mình công thức để thực hiện được mong muốn này được k?
 
=IF(IFNA(CP166;0)=0;MIN(CH166:CI166);MIN(CH166:CI166;CP166))
 
mình muốn như này:
1/ nếu ô A1 =0 =>thì đáp số là Min (B1;C1)
2/ nếu ô A1 = #N/A => thì đáp số cũng là Min (B1;C1)

vậy mình viết công thức như sau :
if


công thức mình đặt ở ô CJ166 bạn ạ. mình viết như này vẫn k đúng.

=IF(OR(CP166=0;ISNA(CP166));MIN(CH166;CI166);MIN(CH166;CI166;CP166))

( diễn giải mong muốn:
nếu CP166=0 hoặc CP166 lỗi #N/A thì trả về giá trị nhỏ nhất trong hai giá trị CH166, CI166.
Nếu CP166 khác 0 và không bị lỗi #N/A thì trả về giá trị nhỏ nhất trong 3 giá trị ( CH166; CI166; CP166)

bạn viết giúp mình công thức để thực hiện được mong muốn này được k?
Thế thì làm đại thế này
=IF( AND(CP166 <>0;NOT(ISNA(CP166)));MIN(CH166; CI166; CP166) ; MIN( CH166;CI166))
Đúng hay sai, chỉ có người dùng biết, bạn nói đúng sai thì đúng cái gì sai cái gì, hoặc đưa FILE lên nhé
 
@befaint : bác ơi vào giúp bạn thớt này nè. Bài nào thớt này đăng hỏi con thấy cũng có nhiều điều huyền bí mà con không hiểu nổi.
 
bạn ơi mình có file ở trên rồi bạn xem giúp mình
Làm đại tiếp kiểu này
=AGGREGATE(5,6,CH166,CI166,CP166)
Bạn phải tự tìm hiểu hàm AGGREGATE và hạn chế của nó, SAI dễ xảy ra tôi không đảm bảo chính xác, vì nó là hàm ÉP LỖI, vậy nhé, nhớ phương châm: ĐỌC KỸ HƯỚNG DẪN (của Microsoft) TRƯỚC KHI DÙNG
 
Lần chỉnh sửa cuối:
Chỉ vì hỏi không đủ đến hết 18 bài mới có câu trả lời nản
 
Hy vọng không có số lớn hơn 10^15
Mã:
=MIN(IFERROR(CH166,10^15),IFERROR(CI166,10^15),IF(IFERROR(CP166,0)=0,10^15,CP166))

oh đây là một ý tưởng rất hay để mình thử.
bạn ơi cho mình hỏi nếu mình làm như này thì liệu có được k bạn?

=MIN(IF(ISNA(CH166);"";IF(CH166=0;"";CH166));IF(ISNA(CI166);"";IF(CI166=0;"";CI166));IF(ISNA(CP166);"";IF(CP166=0;"";CP166)))
Bài đã được tự động gộp:

oh đây là một ý tưởng rất hay để mình thử.
bạn ơi cho mình hỏi nếu mình làm như này thì liệu có được k bạn?

=MIN(IF(ISNA(CH166);"";IF(CH166=0;"";CH166));IF(ISNA(CI166);"";IF(CI166=0;"";CI166));IF(ISNA(CP166);"";IF(CP166=0;"";CP166)))
ý tưởng là chuyển các giá trị lỗi #N/A và giá trị 0 về rỗng rồi tìm Min từng giá trị ?
nhưng hình như hàm Min không hoạt động nó báo lỗi #VALUE! thì mình khắc phục thế nào bạn nhỉ ?
 
oh đây là một ý tưởng rất hay để mình thử.
bạn ơi cho mình hỏi nếu mình làm như này thì liệu có được k bạn?

=MIN(IF(ISNA(CH166);"";IF(CH166=0;"";CH166));IF(ISNA(CI166);"";IF(CI166=0;"";CI166));IF(ISNA(CP166);"";IF(CP166=0;"";CP166)))
Bài đã được tự động gộp:


ý tưởng là chuyển các giá trị lỗi #N/A và giá trị 0 về rỗng rồi tìm Min từng giá trị ?
nhưng hình như hàm Min không hoạt động nó báo lỗi #VALUE! thì mình khắc phục thế nào bạn nhỉ ?
Cứ thử trên máy bạn, máy mình không được nên dùng 10^15
 
Cứ thử trên máy bạn, máy mình không được nên dùng 10^15
bạn ơi vấn đề phát sinh là hàm Min có số bị lỗi #N/A thì phải làm thế nào bạn nhỉ?
Bài đã được tự động gộp:

bạn ơi vấn đề phát sinh là hàm Min có số bị lỗi #N/A thì phải làm thế nào bạn nhỉ?

=MIN(IFERROR(A1:A3,""))
Kết thúc = Ctrl+Shift+Enter

cho mình hỏi nếu các ô không liên tục thì phải viết lại hàm Min như nào mới đúng bạn nhỉ?
 
Lần chỉnh sửa cuối:
bạn ơi vấn đề phát sinh là hàm Min có số bị lỗi #N/A thì phải làm thế nào bạn nhỉ?
Bài đã được tự động gộp:



=MIN(IFERROR(A1:A3,""))
Kết thúc = Ctrl+Shift+Enter

cho mình hỏi nếu các ô không liên tục thì phải viết lại hàm Min như nào mới đúng bạn nhỉ?
bạn thử lại như sau:

=MIN(IFERROR(CH166,(SUMIF(CH166:CP166,">="&0))),IFERROR(CI166,(SUMIF(CH166:CP166,">="&0))),IF(IFERROR(CP166,0)=0,(SUMIF(CH166:CP166,">="&0)),CP166))
 
oh đây là một ý tưởng rất hay để mình thử.
...
Đừng lo "thử" cái gì cả. Và cũng đừng nghĩ đến "ý tưởng rất hay" gì cả.
Hiện tại vấn đề của bạn là diễn tả yêu cầu của mình. Cả chục bài rồi mà vẫn chưa diễn tả xong. Thuần thục cái đó rồi hãy lo những "ý tưởng" khác.
 
Đừng lo "thử" cái gì cả. Và cũng đừng nghĩ đến "ý tưởng rất hay" gì cả.
Hiện tại vấn đề của bạn là diễn tả yêu cầu của mình. Cả chục bài rồi mà vẫn chưa diễn tả xong. Thuần thục cái đó rồi hãy lo những "ý tưởng" khác.

bạn ơi mình cần giải quyết tình huống như sau:
có 3 ô riêng biệt đôi khi 3 ô này có giá trị lỗi #N/A. Mình muốn lấy giá trị nhỏ nhất trong 3 ô đó (nhưng bỏ giá trị 0 và giá trị lỗi #N/A) .
ví dụ tình huống 1:
A1=10
B1=#N/A
D1 =9

Cần công thức ở ô C1 để lấy được giá trị nhỏ nhất trong 3 số ( A1;B1:D1) ; đáp số tình huống 1: = 9

tình huống 2
A1=10
B1=#N/A
D1 =0

cần viết công thức cho ô C1 để lấy được giá trị nhỏ nhất trong 3 số ( A1;B1:D1) ; đáp số = 10; tức là mình muốn bỏ qua giá trị 0 và giá trị lỗi #N/A

tình huống 3
A1=10
B1= 7
D1 =0

cần viết công thức cho ô C1 để lấy được giá trị nhỏ nhất trong 3 số ( A1;B1:D1) ; đáp số = 7 ;tức là mình muốn bỏ qua giá trị 0 và giá trị lỗi #N/A

mình đã thử công thức này nhưng không được

=MIN(IF(ISNA(CH166);"";IF(CH166=0;"";CH166));IF(ISNA(CI166);"";IF(CI166=0;"";CI166));IF(ISNA(CP166);"";IF(CP166=0;"";CP166)))
Bài đã được tự động gộp:

bạn thử lại như sau:

=MIN(IFERROR(CH166,(SUMIF(CH166:CP166,">="&0))),IFERROR(CI166,(SUMIF(CH166:CP166,">="&0))),IF(IFERROR(CP166,0)=0,(SUMIF(CH166:CP166,">="&0)),CP166))
Bạn ơi công thức này mình thấy để ô khác hàng thì nó chạy. Nhưng mình muốn công thức phải được viết tại ô CJ166 thì phải viết lại công thức của bạn như nào mới đúng ?
 

File đính kèm

bạn ơi có cách nào phù hợp với excel 2007 không bạn? mình thấy nó bị chuyển thành #Name?

1601883894707.png1601883894707.png
Bài đã được tự động gộp:


oh tuyệt quá công thức này chạy rồi bạn
={IF(OR(IFERROR(CP166=0;0);ISNA(CP166));MIN(IFERROR(CH166:CI166;99999));MIN(IFERROR(CH166:CI166;99999);CP166))}

làm ơn cho mình hỏi con số 99999 trong công thức đó nghĩa là gì vậy bạn?
 
Lần chỉnh sửa cuối:
bạn ơi cho mình hỏi trường hợp các ô không liền nhau không phải ô (CH166:CI166) mà là ô CG166 và ô CI166 thì phải viết lại công thức này như nào ?


IF(OR(IFERROR(CP166=0;0);ISNA(CP166));MIN(IFERROR(CH166:CI166;99999));MIN(IFERROR(CH166:CI166;99999);CP166))
 
oh tuyệt quá công thức này chạy rồi bạn
={IF(OR(IFERROR(CP166=0;0);ISNA(CP166));MIN(IFERROR(CH166:CI166;99999));MIN(IFERROR(CH166:CI166;99999);CP166))}

làm ơn cho mình hỏi con số 99999 trong công thức đó nghĩa là gì vậy bạn?
99999 là để nếu giá trị lỗi thay bằng 9999 lấy số min thì cái lỗi nó trả về là 99999 coi như không lấy số đấy. Cái này sai khi tất cả các ô đều lỗi nó sẽ trả ra là 99999
 
99999 là để nếu giá trị lỗi thay bằng 9999 lấy số min thì cái lỗi nó trả về là 99999 coi như không lấy số đấy. Cái này sai khi tất cả các ô đều lỗi nó sẽ trả ra là 99999
cảm ơn bạn. còn một vấn đề nữa bạn xem giúp nhé

bạn ơi cho mình hỏi trường hợp các ô không liền nhau không phải ô (CH166:CI166) mà là ô CG166 và ô CI166 thì phải viết lại công thức này như nào ?

IF(OR(IFERROR(CP166=0;0);ISNA(CP166));MIN(IFERROR(CH166:CI166;99999));MIN(IFERROR(CH166:CI166;99999);CP166))
 
Mã:
MIN(IFERROR(CH166:CI166;99999))
@hongtrang26 : cảm ơn bạn, làm mình biết thêm mẹo này. :D
 
Muốn mượn tiền hay muốn nhờ lão ta đi hỏi vợ giùm?
Không biết muốn gì luôn.
 
Hình như người hỏi ở đây, chỉ muốn hỏi, không muốn kết quả, hoặc chỉ muốn kết quả giống như đã nghĩ
Vì cách mọi người không đúng đáp án nghĩ trong đầu người hỏi,

Thôi đợi vậy , có người hỏi lại lại đi hỏi cái khác tiếp
 
Hình như người hỏi ở đây, chỉ muốn hỏi, không muốn kết quả, hoặc chỉ muốn kết quả giống như đã nghĩ
Vì cách mọi người không đúng đáp án nghĩ trong đầu người hỏi,

Thôi đợi vậy , có người hỏi lại lại đi hỏi cái khác tiếp
quả thật là rất rối bạn ạ.

Mình muốn tìm giá trị nhỏ nhất trong 3 giá trị ở các ô không liền nhau . nhưng loại đi hai trường hợp là giá trị 0 và giá trị lỗi #N/A. nhưng loay hoay mãi vẫn không làm được.
hiện tại tìm được công thức :
IF(OR(IFERROR(CP166=0;0);ISNA(CP166));MIN(IFERROR(CH166:CI166;99999));MIN(IFERROR(CH166:CI166;99999);CP166))
nhưng các ô CH166:CI166 đang là hai ô liên tiếp nhau. nếu là ô cách nhau thì phải viết lại công thức trên như nào mới đúng? Cảm ơn bạn !
 
quả thật là rất rối bạn ạ.

Mình muốn tìm giá trị nhỏ nhất trong 3 giá trị ở các ô không liền nhau . nhưng loại đi hai trường hợp là giá trị 0 và giá trị lỗi #N/A. nhưng loay hoay mãi vẫn không làm được.
hiện tại tìm được công thức :
IF(OR(IFERROR(CP166=0;0);ISNA(CP166));MIN(IFERROR(CH166:CI166;99999));MIN(IFERROR(CH166:CI166;99999);CP166))
nhưng các ô CH166:CI166 đang là hai ô liên tiếp nhau. nếu là ô cách nhau thì phải viết lại công thức trên như nào mới đúng? Cảm ơn bạn !
Rối là đúng rồi, chính bạn còn chưa biết mình muốn gì, thì Excel cũng chịu

tham khảo bài #18 ở đây
 
Rối là đúng rồi, chính bạn còn chưa biết mình muốn gì, thì Excel cũng chịu

tham khảo bài #18 ở đây
Bạn ơi mình vừa tham khảo hàm =AGGREGATE(5,6,CH166,CI166,CP166) . vấn đề của mình là excel 2007 không có hàm này bạn ạ. Hiện tại mình đã mò được tới đoạn này rồi

IF(OR(IFERROR(CP166=0;0);ISNA(CP166));MIN(IFERROR(CH166:CI166;99999));MIN(IFERROR(CH166:CI166;99999);CP166)) => công thức này ra kết quả đúng ý mình rồi.
trường hợp hai ôliền nhau CH và CI thì viết CH166:CI166 trong công thức trên là đúng
nhưng nếu là hai ô không liền nhau thì phải viết lại công thức trên như nào bạn sửa giúp mình với ? giả xử là ô CG166 thay ô CH166

IF(OR(IFERROR(CP166=0;0);ISNA(CP166));MIN(IFERROR(CG166 ;CI166;99999));MIN(IFERROR(CG166 ;CI166;99999);CP166)) => công thức này không đúng vì CG166 ;CI166 không liền nhau.
 
Trời. Có cái công thức mà gần 40 bài rồi chưa xong.
Thớt này chắc tạo kỷ lục mới.
 
bạn ơi mình cần giải quyết tình huống như sau:
có 3 ô riêng biệt đôi khi 3 ô này có giá trị lỗi #N/A. Mình muốn lấy giá trị nhỏ nhất trong 3 ô đó (nhưng bỏ giá trị 0 và giá trị lỗi #N/A) .
ví dụ tình huống 1:
A1=10
B1=#N/A
D1 =9

Cần công thức ở ô C1 để lấy được giá trị nhỏ nhất trong 3 số ( A1;B1:D1) ; đáp số tình huống 1: = 9

tình huống 2
A1=10
B1=#N/A
D1 =0

cần viết công thức cho ô C1 để lấy được giá trị nhỏ nhất trong 3 số ( A1;B1:D1) ; đáp số = 10; tức là mình muốn bỏ qua giá trị 0 và giá trị lỗi #N/A

tình huống 3
A1=10
B1= 7
D1 =0

cần viết công thức cho ô C1 để lấy được giá trị nhỏ nhất trong 3 số ( A1;B1:D1) ; đáp số = 7 ;tức là mình muốn bỏ qua giá trị 0 và giá trị lỗi #N/A

mình đã thử công thức này nhưng không được

=MIN(IF(ISNA(CH166);"";IF(CH166=0;"";CH166));IF(ISNA(CI166);"";IF(CI166=0;"";CI166));IF(ISNA(CP166);"";IF(CP166=0;"";CP166)))
Bài đã được tự động gộp:


Bạn ơi công thức này mình thấy để ô khác hàng thì nó chạy. Nhưng mình muốn công thức phải được viết tại ô CJ166 thì phải viết lại công thức của bạn như nào mới đúng ?

Cái này Trật nữa thì thôi mai nhịn ăn sáng
=IF(AND(ISERROR(B1),ISNUMBER(A1),ISNUMBER(D1),D1>0),MIN(A1,D1),IF(AND(ISERROR(B1),ISNUMBER(A1),D1=0),A1,IF(D1=0,MIN(A1,B1),MIN(A1,B1,D1))))
 
EM CÓ MẤY CÁI LỆNH SỦA MÃI KO ĐƯỢC Ạ
Vậy rồi cái tự nhiên bạn xe ngang vào chủ đề của người khác hả? Sao bạn không tạo chủ đề riêng cho mình? Bạn nhờ mà cũng không nói rõ ra là nhờ cái gì luôn???
Bạn không nên viết hoa hết toàn bộ nội dung chứ! Cũng không nên viết tắt.

"sửa" chứ không phải "sủa" nha. haizzzz
 
cảm ơn bạn. còn một vấn đề nữa bạn xem giúp nhé

bạn ơi cho mình hỏi trường hợp các ô không liền nhau không phải ô (CH166:CI166) mà là ô CG166 và ô CI166 thì phải viết lại công thức này như nào ?

IF(OR(IFERROR(CP166=0;0);ISNA(CP166));MIN(IFERROR(CH166:CI166;99999));MIN(IFERROR(CH166:CI166;99999);CP166))
Thì viết tách nó ra làm bấy nhiêu lần cho dễ hình dung
=IF(OR(IFERROR(CP166=0;0);ISNA(CP166));MIN(IFERROR(CH166;99999);IFERROR(CI166;99999));MIN(IFERROR(CH166;99999);IFERROR(CI166;99999);CP166))
Công thức thường không phải mảng
 

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

Back
Top Bottom