Cách dùng hàm if kết hợp colums (1 người xem)

  • Thread starter Thread starter yoomi
  • Ngày gửi Ngày gửi

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

yoomi

Thành viên thường trực
Tham gia
22/10/08
Bài viết
304
Được thích
5
Các bạn giúp mình tạo công thức hàm if kêt hợp colums, theo file gửi kèm
Lấy dữ liệu từ cột B đến F sang cột H đến L
 

File đính kèm

Lần chỉnh sửa cuối:
Dùng hàm offset và countblank để đếm số ô cần bỏ qua kể từ ô mốc (lương 1).
Dùng hàm column để tính hễ lọt ra ngoài bảng thì kéo lại ô đầu (lương hiện tại), và lọt hơn nữa thì bỏ trống
Vì có 3 trường hợp, trong bảng, lọt ra bảng 1 ô và lọt ra nhiều ô cho nên dùng hàm choose tốt hơnì If (dùng if thì phải 2 lần if). Tuy nhiên choose đòi hỏi số nhất định. Vì vậy:
Dùng hàm min, max để giới hạn chỉ 3 trị số 1/2/3 cho hàm choose

Nếu bảng của bạn luôn luôn chỉ có đến Lương 5 thì có cách làm gọn hơn. Công thức sau đây là tổng quát cho trường hợp phải nơi sroongj bảng (lúc đó cần sửa tên cột)

=CHOOSE(MIN(MAX(COLUMN(OFFSET(C2,0,COUNTBLANK($C2:$F2)))-COLUMN($F2)+1,1),3),OFFSET(C2,0,COUNTBLANK($C2:$F2)),$B2,"")

Kéo ngang và kéo dọc.
 
Kết hợp hàm if

Dùng hàm offset và countblank để đếm số ô cần bỏ qua kể từ ô mốc (lương 1).
Dùng hàm column để tính hễ lọt ra ngoài bảng thì kéo lại ô đầu (lương hiện tại), và lọt hơn nữa thì bỏ trống
Vì có 3 trường hợp, trong bảng, lọt ra bảng 1 ô và lọt ra nhiều ô cho nên dùng hàm choose tốt hơnì If (dùng if thì phải 2 lần if). Tuy nhiên choose đòi hỏi số nhất định. Vì vậy:
Dùng hàm min, max để giới hạn chỉ 3 trị số 1/2/3 cho hàm choose

Nếu bảng của bạn luôn luôn chỉ có đến Lương 5 thì có cách làm gọn hơn. Công thức sau đây là tổng quát cho trường hợp phải nơi sroongj bảng (lúc đó cần sửa tên cột)

=CHOOSE(MIN(MAX(COLUMN(OFFSET(C2,0,COUNTBLANK($C2:$F2)))-COLUMN($F2)+1,1),3),OFFSET(C2,0,COUNTBLANK($C2:$F2)),$B2,"")

Kéo ngang và kéo dọc.

Cảm ơn bạn, bạn có thể giúp thêm mình tạo thêm 1 công thức nữa
Yêu cầu như file đính kèm
 

File đính kèm

Cảm ơn anh Ba Tê, nhưng anh có thể dùng công thức giúp em để em có thể làm qua file của em được không ạ, vì VBA này không áp dụng qua file của em đang làm được .
 
Cảm ơn anh Ba Tê, nhưng anh có thể dùng công thức giúp em để em có thể làm qua file của em được không ạ, vì VBA này không áp dụng qua file của em đang làm được .

Công thức phức tạp thì tôi "thua".
Muốn dùng VBA thì đưa file "giống thật" lên đây, tên riêng, những nội dung "nhạy cảm" thì thay thế bằng ABC gì đó, miễn là nó có cấu trúc giống y như file thật.
Bạn nhờ 1 đàng, muốn áp dụng 1 nẽo, có khi cả công thức cũng không xài được.
 
Cảm ơn anh Ba Tê, nhưng anh có thể dùng công thức giúp em để em có thể làm qua file của em được không ạ, vì VBA này không áp dụng qua file của em đang làm được .
Nếu dữ liệu thật được sắp xếp đúng "y boong" như trong bài thì thử công thức này:
=IF(COLUMN(A:A)>COUNT(IF($B2:$F2>42004,$B2:$F2,"")),"",IF(COLUMN(A:A)=COUNT(IF($B2:$F2>42004,$B2:$F2,"")),$B2,SMALL(IF($B2:$F2>42004,$B2:$F2,""),COLUMN(A:A))))
Kéo sang phải, kéo xuống
Nếu khác thì ...."tèo". Chịu thôi nhé. Híc
Thân
 

File đính kèm

Có vẻ như dữ liệu tăng dần từ ngày 1 đến ngày 5?
Nếu thế:
H2:
Mã:
=IFERROR(SMALL(IF(YEAR($B2:$F2)>=2015,$B$2:$F$2,""),COLUMNS($A:A)),"")
Kết thúc bằng Ctrl-shift-enter
Copy ngang dọc.
 
PHP:
H2=IF(COLUMN(A2)<=COUNT($B2:$F2),SMALL($B2:$F2,COLUMN(A2)),"")
Kéo ngang, dọc
 

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

Back
Top Bottom