Lệnh Case trong Excel (2 người xem)

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

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

tokei

Thành viên mới
Tham gia
21/6/07
Bài viết
7
Được thích
0
Trong trường hợp sử dụng lệnh IF kết hợp với lệnh AND hoặc OR, ta có thể kết hợp được các điều kiện với nhau để đưa ra được tối đa là 3 đầu ra. Trong trường hợp chúng ta cần xử lý nhiều điều kiện đầu vào và đưa ra nhều đầu ra cần phải sử dụng câu lệnh dạng Case of.

Tuy nhiên em mò mãi trong Excel không thấy có câu lệnh loại này. Các bác có thể gợi ý giúp em không. Cám ơn các bác nhiều lắm.}}}}}
 
Bạn mở cửa sổ VBE, vào Help để tìm. Ví dụ như mình tìm được đoạn code sau hướng dẫn cách dùng lệnh Case:
Dim Number
Number = 8 ' Initialize variable.
Select Case Number ' Evaluate Number.
Case 1 To 5 ' Number between 1 and 5, inclusive.
Debug.Print "Between 1 and 5"
' The following is the only Case clause that evaluates to True.
Case 6, 7, 8 ' Number between 6 and 8.
Debug.Print "Between 6 and 8"
Case 9 To 10 ' Number is 9 or 10.
Debug.Print "Greater than 8"
Case Else ' Other values.
Debug.Print "Not between 1 and 10"
End Select
 
Cho em hỏi trong Excel không có cách nào dùng lệnh Case này không ạ, em chưa biết nhiều về VBE lắm
 
Cho em hỏi trong Excel không có cách nào dùng lệnh Case này không ạ, em chưa biết nhiều về VBE lắm

Đó là hàm CHOOSE bạn ạ.

CHOOSE
CHOOSE(index_num,value1,value2,...)
Index_num specifies which value argument is selected. Index_num must be a number between 1 and 29, or a formula or reference to a cell containing a number between 1 and 29.
  • If index_num is 1, CHOOSE returns value1; if it is 2, CHOOSE returns value2; and so on.
  • If index_num is less than 1 or greater than the number of the last value in the list, CHOOSE returns the #VALUE! error value.
  • If index_num is a fraction, it is truncated to the lowest integer before being used.
Value1,value2,... are 1 to 29 value arguments from which CHOOSE selects a value or an action to perform based on index_num. The arguments can be numbers, cell references, defined names, formulas, functions, or text.


VD :
=SUM(CHOOSE(2,A1:A10,B1:B10,C1:C10))

=CHOOSE(2,A2,A3,A4,A5)

=SUM(A2:CHOOSE(2,A3,A4,A5))
.................................
Thân!
 
Anh có thể giải thích thêm giúp em không, em vẫn chưa hiểu lắm :

Ví dụ em có các trường hợp sau muốn nó hiện lên trong cùng 1 ô F9 chẳng hạn

Case A4<5 : Ô F9 hiện " Đúng "

Case A6> 7: Ô F9 hiện " Sai "

Case B3 =4 : Ô F9 hiện " Đọc lại đề "

thì viết thế nào ạ ?
 
Anh có thể giải thích thêm giúp em không, em vẫn chưa hiểu lắm :

Ví dụ em có các trường hợp sau muốn nó hiện lên trong cùng 1 ô F9 chẳng hạn

Case A4<5 : Ô F9 hiện " Đúng "

Case A6> 7: Ô F9 hiện " Sai "

Case B3 =4 : Ô F9 hiện " Đọc lại đề "

thì viết thế nào ạ ?
Đây là điều kiện if
Hàm Choose chỉ rẽ nhánh (tạm thời) với ĐK chỉ rõ là chạy đến nhành thứ bao nhiêu (phải liệt kê tất cả các nhánh ra)
TH của bạn : Nếu cả 3 ĐK này xảy ra đồng thời thì KQ sẽ như thế nào ??
vì 3 ĐK này khác biệt nhau hoàn toàn.

Thân !
 
Trong trường hợp trên em giả sử là cả 3 điều kiện không thể xảy ra đồng thời thì làm thế nào hả anh.
 
Sửa lại:

Case A4<5 : Ô F9 hiện " Đúng " (A)

Case AA> 7: Ô F9 hiện " Sai " (B)

Case A4 =4 : Ô F9 hiện " Đọc lại đề " (C)


Có rất nhiều cách bạn ạ. Mình VD

C1: F9= if(A4=4;"Đọc lại đề";if(A4<5;"Đúng";if(A4>7;"Sai";"")))

C2: Dự đoán A4>=1 and A4<=10 (10 trường hợp)
-------F9=Choose(A4;A;A;A;C;"";"";"";B;B;B)

. . . . . . . . . . . . . . . . .

Có lẽ bạn đưa VD trực tiếp lên thì sẽ giải quyết tốt hơn.

Thân!
 
Web KT

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

Back
Top Bottom