Thay thế hàm if trong Excel (2 người xem)

Liên hệ QC

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

summerhq2006

Thành viên hoạt động
Tham gia
4/3/08
Bài viết
112
Được thích
88
Có bác nào chỉ dùm em cách tạo một hàm mới bằng Visual basic trong Excel thay thế được hàm " If " trong Excel với, bởi vì hàm if trong excel chỉ lồng được 8 vòng thôi, các bác có thể gợi ý em cách làm cũng được, thanks a lot!
 
summerhq2006 đã viết:
Có bác nào chỉ dùm em cách tạo một hàm mới bằng Visual basic trong Excel thay thế được hàm " If " trong Excel với, bởi vì hàm if trong excel chỉ lồng được 8 vòng thôi, các bác có thể gợi ý em cách làm cũng được, thanks a lot!
Thế thì bạn đừng xài IF nữa, xài cái khác đi là xong...
Bạn đưa yêu cầu cụ thể lên xem thử mọi người có hướng giãi quyết nào khác ko?
ANH TUẤN
 
Upvote 0
Upvote 0
Về hàm switch:
Switch("Biểu thức 1", "Kết quả 1","Biểu thức 2", "Kết quả 2",......)
nhưng làm sao để đưa ra được một hàm mà giống như hàm If trong Excel các bác nhỉ?
Em gửi file đính kèm các bác tư vấn giúp em nhé!
 

File đính kèm

Upvote 0
Trời... cái bài này thì cần quái gì IF chứ...
Xài công thức này nhé:
Mã:
=OFFSET($D$10,,$E$3-1)
Bởi vậy mới nói bạn đưa yêu cầu cụ thể lên, đã chắc gì cần đến IF (thiếu chi hàm khác, sao bắt buộc phải là IF)
ANH TUẤN
 
Upvote 0
Nhưng vấn đề em cần giải quyết là còn phải tính thêm những trường hợp kỳ 3 tháng, kỳ nửa năm nữa. Bác xem file đính kèm nhé!
Em dùng hàm concatena (để trả về giá trị số em đã thêm Value(concatena()), nhưng em cần một hàm ngắn gọn hơn. Bác xem giúp em nha!

Em xin lỗi! Nhưng không biết tại sao em không attach được file!
Có thể mô tả mục đích như sau:
if($D$3=1,D10,if($D$3=2,E10,.....if($E$3=21,sum(D10:I10),...........
Thanks!
 
Upvote 0
Ah... bạn xem thử gợi ý trong file tôi gữi lên xem có giúp gì dc ko nha!
ANH TUẤN
 

File đính kèm

Upvote 0
Bác Tuấn ah! Bác xem file đính kèm nhé!
Em xem file của bác rồi, nhưng em cần giá trị trả về một ô!
Thank you very much!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
He... he... Tôi nhận dc file rồi... mà nhìn vào như đám rừng.. chả hiểu bạn muốn hỏi gì cả...
Ít ra bạn cũng phải ghi vào file:
1> Muốn đặt công thức tại cell nào?
2> Muốn kết quả là gì?
3> Có thể đặt kết quả với cách tính bằng tay cho mọi người dể hình dung
vân.. vân...
Bạn xem lại nhé!
Các bạn khác tải file về xem có hiểu gì ko nha! (file hoàn toàn khác với những gì bạn hỏi từ đầu đến giờ)
ANH TUẤN
 

File đính kèm

Upvote 0
Về File đính kèm của bác Tuấn em đâu có gửi file đó. Bác có thể xem file đính kèm sau giúp em nha!
 

File đính kèm

Upvote 0
Trong Validation tại cell D3 tôi thấy có tổng cộng 18 trường hợp, sao bạn ko ghi hết để làm 1 lần luôn?
ANH TUẤN
 
Upvote 0
Tôi đang cần tổng hợp số liệu từ các bảng tính Excel rất muốn nhờ các ban giúp đỡ:
Nôi dung:
Nhập số liệu tổng hợp ở sheet1, sau đó số liệu tự động lọc và sum lại ở sheet2 và sheet3.
Hiện nay tôi dùng hàm sumif để lọc số liệu ở sheet1, kết quả cũng chính xác ở sheet2 nhưng có nhược điểm là khi dùng lệnh filterauto để xem ở sheet1 thì kết quả ở sheet2 bị thay đổi(do vị trí của các ô thay đổi); ngoài ra phải lọc thủ công từ sheet1 để điền tiếp kết quả vào sheet3.
Tôi muốn các bạn giúp tôi, nội dung như sau:
sheet1:
SP a KH08: 100 qui1: 10 quí 2: 40 quí 3: 20 quí 4: 30 Phân xưởng M
SP b KH08: 200 qui1: 20 quí 2: 80 quí 3: 60 quí 4: 40 Phân xưởng N
SP c KH08: 300 qui1: 100 quí 2: 40 quí 3: 160 quí 4: 140 Phân xưởng O
SP d KH08: 400 qui1: 100 quí 2: 200 quí 3:100 quí 4:100 Phân xưởng P
SP e KH08: 500 qui1:100 quí 2: 300 quí 3: 100 quí 4: 100 Phân xưởng Q
sheet2:
cộng giá trị từng SP cho từng quí
sheet3:
cộng giá trị của từng phân xưởng cho từng quí
Các bạn hãy cố giúp cho mình nhé, xin cảm ơn. Nếu chỉ dẫn chi tiết thì gắng mail cho mình nhé. Mình sẽ gửi file excel đề nhờ các bạn giúp nhưng chưa biết gửi như thế nào. Mong được mọi người quan tâm giúp đỡ. Thanks !!!
long_ltl@yahoo.com
 
Upvote 0
summerhq2006 đã viết:
Có bác nào chỉ dùm em cách tạo một hàm mới bằng Visual basic trong Excel thay thế được hàm " If " trong Excel với, bởi vì hàm if trong excel chỉ lồng được 8 vòng thôi, các bác có thể gợi ý em cách làm cũng được, thanks a lot!
Cái này tôi nói hơi ngoài lề tí..
Nếu bạn vẫn cứ thích xài hàm IF, bạn chuyển sang xài Excel2007 đi, với Excel2007 bạn có thể lồng tới 64 hàm IF với nhau.
 
Upvote 0
anhtuan1066 đã viết:
Trong Validation tại cell D3 tôi thấy có tổng cộng 18 trường hợp, sao bạn ko ghi hết để làm 1 lần luôn?
ANH TUẤN

Giả sử chỉ có 18 trường hợp này thôi thì cách làm ra sao bác nhỉ? Em gửi lại bác file này!
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Ai trời ơi... Bạn ko ghi hết tất cả các trường hợp thì tôi làm sao giúp bạn đây?
Bạn xem lại file của bạn đi: Tôi ko nhìn thấy các trường hợp sau:
1> D3 = từ 6 --- > 12 ---- B5 = bao nhiêu ?
2> Tôi xin sửa lại 1 tí cái list Validation như thế này:
a > Từ 1 --- > 12 có nghĩa là từ tháng 1 đến tháng 12
b> Số 21 và 22 tôi sửa lại thành 61 và 62: có nghĩa là 6 tháng đầu năm và 6 tháng cuối năm.. bạn thấy sao?
Mấy số này tuy có thể đặt tùy ý nhưng ko thể tùy tiện... Dù sao nó cũng phải mang 1 ý nghĩa nào nó...
Nếu bạn đồng ý với sửa đổi của tôi thì file đính kèm là 1 giãi pháp ko có IF
---------------------------
Tuy nhiên tôi có nhận xét cách đánh số trong Validation mà bạn đang làm có điều chưa ổn lắm... Bạn xem file tôi gữi, trong đó có đề nghị 1 cách đánh số khác tương đối khoa học hơn... Xem nhé!
ANH TUẤN

Và đây là giãi pháp theo cách đánh số mới của tôi... Bạn xem nhé!
Bạn nên nhớ việc bố trí dử liệu khoa học và hợp lý góp phần ko nhỏ cho việc trích xuất dử liệu dể dàng đấy! (ko thể tùy tiện dc đâu)
ANH TUẤN
 

File đính kèm

Upvote 0
Còn trường hợp hai dòng hoặc hai cột không liên tiếp thì làm thế nào bác nhỉ? Em gửi file đính kèm bác xem dùm nhé!
 

File đính kèm

Upvote 0
Trời à... Xin gữi hết lên 1 lần tất cả các yêu cầu... Mất công quá!
------------------------------
Với yêu cầu vừa rồi, tôi gợi ý bạn công thức khác vẫn trên cơ sở OFFSET thôi... thêm bớt gia giảm 1 lượng là xong (trong trường hợp cách dòng thì nhân 2 lên) rồi dùng SUMIF
Bạn xem nhé... (trường hợp cột doc bạn tự suy luận ra từ bài toán cột nằm ngang này nhé... Quá dể bằng cách thay cột thành dòng và dòng thành cột)
ANH TUẤN
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Thôi làm luôn cho bạn trường hợp dử liệu xếp dọc đây... Chú ý công thức trong Define name nhé... Đây là dạng mãng động dùng OFFSET nên bạn cũng hơi bị đau đầu để nghiên cứu nó đấy! Tuy nhiên nếu làm dc 1 lần tự nhiên bạn sẽ thích và cảm thấy mọi chuyện trở nên dể dàng hơn nhiều.. đâu cần IF gì chứ!
---------------------
(Bạn chú ý tôi tô màu có điều kiện để nhận biết dc vùng nào đang dc chọn nhé)
ANH TUẤN
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Đúng là đau đầu thật bác ah! Trong file thực tế thì giữa các ô không phải là khoảng trắng mà là các tên (em đã phải dùng đến concatenate - nhưng công thức quá dài!). Em đang cố hiểu cách làm của bác Thank you very much!
 
Upvote 0
Chú ý nha... Mấy cell dưới ta gỏ cái gì cũng dc... miễn hàng trên, là hàng chứa THÁNG phải chuẩn, tức ko dc merge cell.. Nói chung giống như cách trình bày hiện giờ thì mới có hy vong dùng SUMIF dc
Cố gắng lên.. lần đầu tiên tiếp xúc mới mấy trò OFFSET này ai mà chẳng điên đầu... từ từ sẽ thấy dể như ăn cháo.. gà.. ha.. ha..
ANH TUẤN
 
Upvote 0
Web KT

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

Back
Top Bottom