Bài tập hàm Excel căn bản. (2 người xem)

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

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

ptm0412

Bad Excel Member
Thành viên BQT
Administrator
Tham gia
4/11/07
Bài viết
14,716
Được thích
37,418
Donate (Momo)
Donate
Giới tính
Nam
Nghề nghiệp
Consultant
Mỗi khi nhìn thấy những bài tập excel của các trung tâm, của nhà trường (kể cả của trường đại học), của các vua excel, ông hoàng excel, chim heo cá gà excel là thấy ghét.
Nếu là lão chết tiệt ra đề thì sẽ như sau:

Bài 1: Chỉ sử dụng Vlookup, HLookup, Lookup. Không tạo cột phụ.

1678070621072.png

Bài 2: Chỉ sử dụng Index và Match. Sheet Index dùng thêm 3 hàm tính tương ứng: tổng, đếm và trung bình, cũng không dùng cột phụ.

1678070357743.png

Và cũng là đề chết tiệt nên ai muốn làm thì làm, không thì thôi. Không chấm điểm, không giải thưởng.
 

File đính kèm

Lần chỉnh sửa cuối:
Nếu ai có góp ý về cách ra đề bài tập, tôi cũng ghi nhận. Đúng nhận, sai mới cãi
 
Về Lookup:
1. Lookup là hàm nguy hiểm. Người dùng cần biết đủ tính chất của nó. Để biết đủ tính chất thì tình độ cao hơn bài tập "căn bản".
2. Tuy gần tên nhưng khác giống. Lookup không cùng hạng với VLookup và HLookup.
3. Lookup là một trong 4 hàm có tính chất "array formula" (hàm mảng)

Túm lại, bài tập "căn bản" không nên dùng Lookup.
 
Về Lookup:
1. Lookup là hàm nguy hiểm. Người dùng cần biết đủ tính chất của nó. Để biết đủ tính chất thì tình độ cao hơn bài tập "căn bản".
2. Tuy gần tên nhưng khác giống. Lookup không cùng hạng với VLookup và HLookup.
3. Lookup là một trong 4 hàm có tính chất "array formula" (hàm mảng)

Túm lại, bài tập "căn bản" không nên dùng Lookup.
Không phải cãi nha, chỉ là giải thích:
Bài tập này làm sau khi nghe giảng của cùng người ra đề. Lookup có đặc điểm gì (tìm được cả 2 chiều H và V, tìm không thấy sẽ ra kết quả ra sao), có yêu cầu gì (sắp xếp chẳng hạn). Trong bài giảng lại có ví dụ mẫu nữa, có giải thích tại sao dùng nó nữa.
Giảng nhiêu đó, thì chỉ ra bài tập nhiêu đó thôi anh.
 
Tôi đã từng thực hành kha khá về lookup, đã lưu lại file để đó. Tuy nhiên chừ tôi đã quên sạch rồi. Cách dùng của lookup khó nhớ quá bởi cách chạy của IC trong bộ não của tôi nó làm sao ấy. Do đó tôi tán đồng với bài #3 về chuyện không nên dùng lookup cho bài tập căn bản.
 
Yếu tố thực tế của bài tập: Hàng bán thiếu chi tiết VAT.
 
Tôi đã từng thực hành kha khá về lookup, đã lưu lại file để đó. Tuy nhiên chừ tôi đã quên sạch rồi. Cách dùng của lookup khó nhớ quá bởi cách chạy của IC trong bộ não của tôi nó làm sao ấy. Do đó tôi tán đồng với bài #3 về chuyện không nên dùng lookup cho bài tập căn bản.
Cái này phải cãi nè:
Anh lâu không xài nên quên là phải. Còn bài tập này là sáng giảng, trưa giao bài tập, ai cho phép quên.
Vả lại chỉ giảng 1 câu: Khi tìm 1 số trong dãy số cho trước, nếu không tìm thấy nó trả về số xyz, điều kiện là phải sort trước tăng dần. Bài tập cũng chỉ ra đề trong phạm vi 1 câu lý thuyết đó.

Yếu tố thực tế của bài tập: Hàng bán thiếu chi tiết VAT.
Cái này nhận, không cãi.
 
Lần chỉnh sửa cuối:
Cái này phải cãi nè:
Anh lâu không xài nên quên là phải. Còn bài tập này là sáng giảng, trưa giao bài tập, ai cho phép quên.
Vả lại chỉ giảng 1 câu: Khi tìm 1 số trong dãy số cho trước, nếu không tìm thấy nó trả về số xyz, điều kiện là phải sort trước tăng dần. Bài tập cũng chỉ ra đề trong phạm vi 1 câu lý thuyết đó.
Các hàm khác tôi nhớ hết, thậm chí là hàm offset rất khó nhớ nhưng nhiều năm tôi vẫn không quên. Chỉ có hàm lookup là tôi thua, vài tuần sau là chẳng nhớ gì hết. Đó chỉ thuần túy cá nhân thôi.
 
Các hàm khác tôi nhớ hết, thậm chí là hàm offset rất khó nhớ nhưng nhiều năm tôi vẫn không quên. Chỉ có hàm lookup là tôi thua, vài tuần sau là chẳng nhớ gì hết. Đó chỉ thuần túy cá nhân thôi.
Thì chỉ mất điểm 1 câu đó thôi. Còn 8/10 chẳng hạn.
 

File đính kèm

Em cũng nộp thử do không biết ý anh thế nào có gì cho em nhận xét. Cảm ơn
Bạn làm đúng hết. Tuy nhiên tôi hỏi thêm 2 câu hỏi này:
1. Nếu không có gợi ý Sinx = Sinx1 + (sinx2 - sinx1) * (x - x1) / (x2 - x1) thì bạn làm được không?
2. Nếu bước của góc không phải tất cả là 10, có thể là 13, 15, 11, 20, ... xen lẫn vào nhau thì có làm được không?
Kiểu như thế này:

1678179922901.png
 
Lần chỉnh sửa cuối:
Ủa, em tưởng hàm sin nó chạy loằng ngoằng mà sao lại tuyến tính được bác nhỉ?
Em sửa lại "tuyến tính".
Phương pháp nội suy (tuyến tính) dựa trên giả định ở giữa 2 điểm có khoảng cách tương đối nhỏ thì tuyến tính. Do đó nội suy là phép tính gần đúng chứ không chính xác.
Phương pháp nội suy không chỉ áp dụng cho hàm lượng giác (hồi chưa có máy tính thì có 1 bảng giấy in như trong đề bài), phải dùng giấy bút tính tay ra). Thông số nhiệt độ, thể tích, .... trong tất cả các ngành kinh tế đều cần tính nội suy.
 
Phương pháp nội suy (tuyến tính) dựa trên giả định ở giữa 2 điểm có khoảng cách tương đối nhỏ thì tuyến tính. Do đó nội suy là phép tính gần đúng chứ không chính xác.
Phương pháp nội suy không chỉ áp dụng cho hàm lượng giác (hồi chưa có máy tính thì có 1 bảng giấy in như trong đề bài), phải dùng giấy bút tính tay ra). Thông số nhiệt độ, thể tích, .... trong tất cả các ngành kinh tế đều cần tính nội suy.
Trời đất.
Những cái này bạn gọi là "căn bản" à?
Tôi nghĩ bạn đã lấn qua lĩnh vực của các khóa dạy nghiệp vụ, hoặc của các hội nghị rồi.
 
Trời đất.
Những cái này bạn gọi là "căn bản" à?
Tôi nghĩ bạn đã lấn qua lĩnh vực của các khóa dạy nghiệp vụ, hoặc của các hội nghị rồi.
Chương trình lớp 10 anh ơi. Lớp 10 làm toán lượng giác là phải tính tay theo bảng in giấy rồi. Nhắc lại không thừa cho các bạn đang đi làm.
 
2. Nếu bước của góc không phải tất cả là 10, có thể là 13, 15, 11, 20, ... xen lẫn vào nhau thì có làm được không?
Kiểu như thế này:
Cái này thì mình tìm cận dưới ví dụ công thức =INDEX($A$4:$A$40,MATCH($G14,$A$4:$A$40,1))
Thì cận trên =INDEX($A$4:$A$40,MATCH($G14,$A$4:$A$40,1)+1) tức là cộng thêm 1
1. Nếu không có gợi ý Sinx = Sinx1 + (sinx2 - sinx1) * (x - x1) / (x2 - x1) thì bạn làm được không?
EM không hiểu cái này
 
Cái này thì mình tìm cận dưới ví dụ công thức =INDEX($A$4:$A$40,MATCH($G14,$A$4:$A$40,1))
Thì cận trên =INDEX($A$4:$A$40,MATCH($G14,$A$4:$A$40,1)+1) tức là cộng thêm 1

EM không hiểu cái này
Câu hỏi phụ 1: Đúng. Nên làm như thế vì đời không phải lúc nào cũng đẹp như mơ, huống gì đây là đề chết tiệt của lão chết tiệt.
Câu hỏi phụ 2: Ý là hỏi bạn có nhớ cách tính nội suy bằng công thức cộng trừ nhân chia hay không thôi. Nhớ được thì tốt cho sức khỏe.
 
Câu hỏi phụ 1: Đúng. Nên làm như thế vì đời không phải lúc nào cũng đẹp như mơ, huống gì đây là đề chết tiệt của lão chết tiệt.
Câu hỏi phụ 2: Ý là hỏi bạn có nhớ cách tính nội suy bằng công thức cộng trừ nhân chia hay không thôi. Nhớ được thì tốt cho sức khỏe.
Ý 2. Cái này thì các bác hồi xưa học còn nhớ, vì hồi đó phải áp dụng nhiều. Sau này giới trẻ công cụ nhiều, không phải tra bảng, không thường xuyên áp dụng khó nhớ được lắm.
Em là 1 ví dụ.
 
Ý 2. Cái này thì các bác hồi xưa học còn nhớ, vì hồi đó phải áp dụng nhiều. Sau này giới trẻ công cụ nhiều, không phải tra bảng, không thường xuyên áp dụng khó nhớ được lắm.
Em là 1 ví dụ.
Tại công việc làm của "em" không phải tính. Tôi thí dụ:
- Tính nội suy trong bảng tra ảnh hưởng của nhiệt độ đối với tỷ trọng, thậm chí nội suy 2 chiều: nhiệt độ và nồng độ nếu tính tỷ trong cồn (đong vào xe bốn tính lít, nhưng tính tiền theo kg.) Một xe bồn 16 ngàn lít mà tính sai thì mất bao nhiêu tiền.
- Tính nội suy nhiều thứ khác, tùy ngành nghề

Công cụ nào cũng phải tự kiểm tra bằng tay xem có chính xác hay không. Chứ công cụ làm sẵn rồi nhắm mắt tin theo thì có mà đền.
 
Lần chỉnh sửa cuối:
Em đúng không làm mấy cái này. Nhưng cái chỗ công thức bác đưa ở ý 2, em tưởng giờ cứ bấm máy tính hết chứ.
Tại công việc làm của "em" không phải tính. Tôi thí dụ:
- Tính nội suy trong bảng tra ảnh hưởng của nhiệt độ đối với tỷ trọng, thậm chí nội suy 2 chiều: nhiệt độ và nồng độ nếu tính tỷ trong cồn (đong vào xe bốn tính lít, nhưng tính tiền theo kg.) Một xe bồn 16 ngàn lít mà tính sai thì mất bao nhiêu tiền.
- Tính nội suy nhiều thứ khác, tùy ngành nghề

Công cụ nào cũng phải tự kiểm tra bằng tay xem có chính xác hay không. Chứ công cụ làm sẵn rồi nhắm mắt tin theo thì có mà đền.
 
Em vò đầu bứt tóc 2 ngày nay mà chưa giải được bài nào.
Đang chờ sư phụ cho thuốc giải đây.
Dóc tổ. Hai ngày ấy lo giải các cấu hỏi khác, VBA, hàm mảng khủng, ...
Câu hỏi khó đoán bỏ bố vẫn không nề hà đoán đại.

Hay là bạn muốn nhắc nhở chủ thớt ra câu hỏi còn mập mờ hơn các người "giúp em với"
 
Dóc tổ. Hai ngày ấy lo giải các cấu hỏi khác, VBA, hàm mảng khủng, ...
Câu hỏi khó đoán bỏ bố vẫn không nề hà đoán đại.
Hay là bạn muốn nhắc nhở chủ thớt ra câu hỏi còn mập mờ hơn các người "giúp em với"
Hihihi, bác Vet không hiểu em đâu, chỉ có sư phụ chủ thớt mới hiểu em thôi.
Ngày Sinh nhật GPE cách đây đúng 12 năm, không biết bác Vet có dự không, sư phụ chủ thớt có thách đố em về việc bắt tay vào học VBA (lúc đó em như tờ giấy trắng), cho đến năm ngoái em vẫn vậy, như tờ giấy trắng...
Mấy tháng gần đây mới thấy đỡ đỡ hơn chút...
 
Câu hỏi phụ 2: Ý là hỏi bạn có nhớ cách tính nội suy bằng công thức cộng trừ nhân chia hay không thôi. Nhớ được thì tốt cho sức khỏe.
Thật sự trong excel mình có thể dùng trực tiếp công thức có sẵn của excel
Sinx =Sin(X*PI()/180)
Cosx = Cos(X*PI()/180)

Còn cách tính học ngày xưa trả cho Thầy/Cô hết rồi anh.
 
Các hàm khác tôi nhớ hết, thậm chí là hàm offset rất khó nhớ nhưng nhiều năm tôi vẫn không quên. Chỉ có hàm lookup là tôi thua, vài tuần sau là chẳng nhớ gì hết. Đó chỉ thuần túy cá nhân thôi.
Em thì chịu, từ ngày dùng excel em không thể ngấm được hàm offset.
 
Để ngấm được hàm nào đó, hãy tìm 1 cách nào đó "nôm na" để diễn dịch nó ra
VD: OFFSET
Từ set gợi nhớ ý là đặt, để, dịch chuyển...
Khi đứng lại 1 ô, vùng nào đó, mà muốn di chuyển, tham chiếu đến ô, vùng khác thì nhớ ngay đến OFFSET
Như cái quân cờ trong bàn cờ tướng vậy. Mình không trực tiếp ngồi đánh cờ, mà ra lệnh cho người ta dịch chuyển quân cờ lên trên, xuống dưới, sang phải, sang trái bao nhiêu ô.
=OFFSET(ô, rows, columns, height, withd)
OFFSET(ô, lên hay xuống bao nhiêu ô, sang phải hay trái bao nhiêu ô, khi đến được ô mới rồi thì giãn lên/ xuống bao nhiêu dòng, giãn sang trái/phải bao nhiêu cột)
kết quả trả về vùng mới trên sheet, thế thôi.
 
Em thì chịu, từ ngày dùng excel em không thể ngấm được hàm offset.
Để ngấm được hàm nào đó, hãy tìm 1 cách nào đó "nôm na" để diễn dịch nó ra
VD: OFFSET
Từ set gợi nhớ ý là đặt, để, dịch chuyển...
Khi đứng lại 1 ô, vùng nào đó, mà muốn di chuyển, tham chiếu đến ô, vùng khác thì nhớ ngay đến OFFSET
Như cái quân cờ trong bàn cờ tướng vậy. Mình không trực tiếp ngồi đánh cờ, mà ra lệnh cho người ta dịch chuyển quân cờ lên trên, xuống dưới, sang phải, sang trái bao nhiêu ô.
=OFFSET(ô, rows, columns, height, withd)
OFFSET(ô, lên hay xuống bao nhiêu ô, sang phải hay trái bao nhiêu ô, khi đến được ô mới rồi thì giãn lên/ xuống bao nhiêu dòng, giãn sang trái/phải bao nhiêu cột)
kết quả trả về vùng mới trên sheet, thế thôi.
Hàm Offset có cái logic dễ nhớ và tôi cũng hay dùng khi đặt name động nên khó quên.
 
Thật sự trong excel mình có thể dùng trực tiếp công thức có sẵn của excel
Sinx =Sin(X*PI()/180)
Cosx = Cos(X*PI()/180)
Nếu excel thì Sinx = Sin(Radians(x))
Còn cách tính nội suy áp dụng cho các dãy số bất kỳ chứ không phải sin, cos. Để nhớ nó thì vẽ ra giấy và dùng tỷ lệ tam giác đồng dạng
 
Thật sự trong excel mình có thể dùng trực tiếp công thức có sẵn của excel
Sinx =Sin(X*PI()/180)
Cosx = Cos(X*PI()/180)

Còn cách tính học ngày xưa trả cho Thầy/Cô hết rồi anh.
Đúng là Toán trả cho Thầy Cô.
Người có căn bản toán ai cũng biết khi tính trên đơn vị thì phải nói rõ đơn vị.
Các hàm lượng giác của Excel theo tiêu chuẩn chung cho nên tham số của chúng mặc định là đơn vị Radians.. Công thức trên có PI() này nọ là vì X được tính theo đơn vị độ.

Tôi đang làm chủ trong tay bạc tỷ. Tỷ đồng VN khác hẳn tỷ đô la Mẽo.

Hàm Offset có cái logic dễ nhớ và tôi cũng hay dùng khi đặt name động nên khó quên.
Cái tên cũng dễ nhớ.
OFF = lệch
Offset có nghĩa là lệch vị trí.

Hàm Offset có 5 tham số:
1. tham đầu tiên là cái gốc nơi tham chiếu. Lệch thì phải biết từ đâu chứ.
2. Lệch số dòng. Phải có đơn vị để lệch, Excel mặc định cứ tham số dòng/cột thì dòng trước cột.
3. Lệch số cột. Xem 2 ở trên.
4. Excel cho Offset làm luôn công việc của Resize (co/dãn mảngeej. Cho nên tham số này là tham số resize dòng.
5. resize cột.
 
Dóc tổ. Hai ngày ấy lo giải các cấu hỏi khác, VBA, hàm mảng khủng, ...
Câu hỏi khó đoán bỏ bố vẫn không nề hà đoán đại.
Thường những người chuyên trị công thức khủng sẽ bỏ qua những hàm căn bản, những logic đơn giản, lâu rồi thành quên luôn.
 
...
Mấy tháng gần đây mới thấy đỡ đỡ hơn chút...
Cái đó lý luận với người khác chứ với tôi thì chưa chuẩn.

1. "mấy" có thể là từ 1 đến 1 chục.
2. Cách lý luận từ "tờ giấy trăng" đến "hiện tại" chỉ trong vòng một thời gian ngắn là một lối tự khoe tài.
 
Cái đó lý luận với người khác chứ với tôi thì chưa chuẩn.

1. "mấy" có thể là từ 1 đến 1 chục.
2. Cách lý luận từ "tờ giấy trăng" đến "hiện tại" chỉ trong vòng một thời gian ngắn là một lối tự khoe tài.
Không dám đâu bác Vẹt. Ra biển lớn mới thấy con thuyền của mình mong manh như chiếc lá...
Bài đã được tự động gộp:

Thường những người chuyên trị công thức khủng sẽ bỏ qua những hàm căn bản, những logic đơn giản, lâu rồi thành quên luôn.
Có những người biết đi xe máy mà lại không biết đi xe đạp...
Cũng có người cưới vợ mà không hề " sống thử"...
Riêng excel thì khác, sư phụ.
Khi hàm căn bản đi vào máu thịt rồi thì mới mạnh dạn làm việc với công thức khủng. Vì về bản chất công thức khủng là ghép nối các công thức cơ bản lại mà thôi
 
Lần chỉnh sửa cuối:
Khi hàm căn bản đi vào máu thịt rồi thì mới mạnh dạn làm việc với công thức khủng. Vì về bản chất công thức khủng là ghép nối các công thức cơ bản lại mà thôi
Nhưng suy luận logic khủng rồi sẽ quen, không thấy cái đơn giản. Mà cái đơn giản lại là hàm cơ bản máu thịt
 
Lần chỉnh sửa cuối:
Bài tập 3: Chỉ bằng hàm và công thức Excel, không dùng VBA
Câu 1:
Bằng công thức và hàm Excel hãy đánh số thứ tự 2 cấp <La mã - số> hoặc <ABC - số> như hình (file đính kèm)

1678456397179.png

Câu hỏi 2:
Có thể đánh số thứ tự 2 cấp kiểu <La mã - ABC> không?
Câu hỏi 3:
Có thể đánh số thứ tự 3 cấp kiểu <La mã - ABC - số> không? Yêu cầu cấu trúc bảng thế nào?

Tương tự như 2 bài trước, không chấm điểm, không có thưởng, ai muốn giải thì cứ giải, muốn chia sẻ thì đưa lên, không thì thôi.
 

File đính kèm

Lần chỉnh sửa cuối:
Với thằng dốt hàm excel như mình thì các hàm cơ bản chỉ là
=If()
=Left()
=Right()
=Mid()
=VloopkUp()
=HLookUP(0
(./.)

Sành điệu hơn sẽ là các hàm CSDL
 
Với thằng dốt hàm excel như mình thì các hàm cơ bản chỉ là
=If()
=Left()
=Right()
=Mid()
=VloopkUp()
=HLookUP(0
(./.)

Sành điệu hơn sẽ là các hàm CSDL
Cha nội ăn gian. Các hàm Left, Right, Mid là để làdm việc với chuỗi. Nhưng nếu làm việc với chuỗi mà không có Trim, Upper, Lower thì chả lam được bao nhiêu.
(mình tạm coi như substitute và find là trên căn bản đi)
 
Cha nội ăn gian. Các hàm Left, Right, Mid là để làdm việc với chuỗi. Nhưng nếu làm việc với chuỗi mà không có Trim, Upper, Lower thì chả lam được bao nhiêu.
(mình tạm coi như substitute và find là trên căn bản đi)
Lão í nói thật đó. Ngoài mấy hàm đó là lão xài VBA. Còn mấy hàm D (lão gọi là hàm CSDL), là lão mót từ Access qua, chứ bên Excel đâu có gọi là cơ bản.
 
Trên kia tôi chỉ kể ra mấy hàm trả về chuỗi thôi.
Chứ thực tế, làm việc với chuỗi mà không biết hàm Len thì cũng cùi.

Chú: tôi cốt cải chính cho những người mới học Excel hiểu: làm việc với chuỗi thì Left, Right, Mid chưa đủ.
Đây là bài tập "hàm Excel căn bản" chứ đâu phải "biết ít nhưng vẫn có cách làm việc được"
 
Câu hỏi 2:
Có thể đánh số thứ tự 2 cấp kiểu <La mã - ABC> không?
Câu hỏi 3:
Có thể đánh số thứ tự 3 cấp kiểu <La mã - ABC - số> không? Yêu cầu cấu trúc bảng thế nào?
Câu 2: có.
Câu 3: có. Cấu trúc bảng miễn sao có cột để phân biệt 3 kiểu STT là được.
Có điều câu 1 em đang bí việc dùng 1 công thức đánh STT cả cột (cứ gặp II, III là lại về 123...) nên không làm được. Khó thật.
 
Lão í nói thật đó. Ngoài mấy hàm đó là lão xài VBA. Còn mấy hàm D (lão gọi là hàm CSDL), là lão mót từ Access qua, chứ bên Excel đâu có gọi là cơ bản.
Trên diễn đàn này đã được các học viên đưa lên rất nhiều bài tập từ các trung tâm truyền đạt office
Mình chỉ cần vượt qua 80% số câu hỏi về Excel là đã có bằng của trung tâm rồi.
. . . . . . .
 
Câu 2: có.
Câu 3: có. Cấu trúc bảng miễn sao có cột để phân biệt 3 kiểu STT là được.
Có điều câu 1 em đang bí việc dùng 1 công thức đánh STT cả cột (cứ gặp II, III là lại về 123...) nên không làm được. Khó thật.
Gửi bạn câu 1
Mã:
=IF(C3="",IF(ISNUMBER(B2),B2+1,1),ROMAN(COUNTA($C$3:C3)))
Câu 2 mình cũng làm gần tương tự như thế.
Câu 3 đang gặp chút vấn đề.
1678538855411.png
 
Gửi bạn câu 1
Mã:
=IF(C3="",IF(ISNUMBER(B2),B2+1,1),ROMAN(COUNTA($C$3:C3)))
Câu 2 mình cũng làm gần tương tự như thế.
Câu 3 đang gặp chút vấn đề.
Câu 1 gồm 2 cách đánh STT: <La mã - số> (bạn đã làm), <ABC - số> tương tự nhưng dùng hàm Char, không dùng hàm Roman.
Câu 2 là kiểu đánh STT <La mã - ABC> thì tôi không chắc bạn làm được rồi.
Nếu làm được câu 2 sẽ có thể làm câu 3, điều kiện là tiêu đề dòng phân rõ 3 cấp, hoặc là cùng cột có dấu hiệu, hoặc là tách cột.
 
Lần chỉnh sửa cuối:
Có điều câu 1 em đang bí việc dùng 1 công thức đánh STT cả cột (cứ gặp II, III là lại về 123...) nên không làm được. Khó thật.
Tìm dấu hiệu nhận biết của dòng dự định đánh số 1 cho biết nó khác những dòng đánh số 2, 3 chỗ nào.

Trên diễn đàn này đã được các học viên đưa lên rất nhiều bài tập từ các trung tâm truyền đạt office
Mình chỉ cần vượt qua 80% số câu hỏi về Excel là đã có bằng của trung tâm rồi.
Những bài tập của các trung tâm chỉ đáng bỏ đi. Anh đọc 2 câu đầu của bài 1 chủ đề này. Đề phải thực tế và cấu trúc rõ ràng, thêm 1 chút chết tiệt cho oai.
 
Lần chỉnh sửa cuối:
Câu 1 gồm 2 cách đánh STT: <La mã - số> (bạn đã làm), <ABC - số> tương tự nhưng dùng hàm Char, không dùng hàm Roman.
Câu 2 là kiểu đánh STT <La mã - ABC> thì tôi không chắc bạn làm được rồi.
Nếu làm được câu 2 sẽ có thể làm câu 3, điều kiện là tiêu đề dòng phân rõ 3 cấp, hoặc là cùng cột có dấu hiệu, hoặc là tách cột.
Câu 2 kết quả là chỗ cột I, như vậy là đã đúng chưa bác.
Câu 3 em đang rối chỗ điều kiện. Tại đang dùng cùng 1 điều kiện để phân tách cấp 3 và cấp 2 nên kết quả chưa chính xác.
Phân cột dùng cho câu 3 em đang dự định để như cột S,T,U để làm.
 
Câu 2 kết quả là chỗ cột I, như vậy là đã đúng chưa bác.
Câu 3 em đang rối chỗ điều kiện. Tại đang dùng cùng 1 điều kiện để phân tách cấp 3 và cấp 2 nên kết quả chưa chính xác.
Phân cột dùng cho câu 3 em đang dự định để như cột S,T,U để làm.
Cột I và Q tôi tưởng không phải công thức nên nhầm.
Theo tôi suy luận thì câu 2 làm như vầy dễ hơn so với nối chuỗi

1678545455670.png


và câu 3 có cấu trúc như thế này là dễ nhất

1678545803198.png
 
Gửi mọi người góp ý ạ.
Tính không sử dụng công thức mảng nhưng không nghĩ ra được cách nào mà không phải sử dụng nó.
 

File đính kèm

Gửi mọi người góp ý ạ.
Tính không sử dụng công thức mảng nhưng không nghĩ ra được cách nào mà không phải sử dụng nó.
Loại 2 cấp <La mã - ABC>, thay vì Right(B2,1) bạn dùng Trim(B1) cho đơn giản.
Loại 3 cấp thì đúng rồi nhưng công thức dài quá. Tôi đang tìm công thức ngắn hơn mà chưa ra.
 
Mỗi khi nhìn thấy những bài tập excel của các trung tâm, của nhà trường (kể cả của trường đại học), của các vua excel, ông hoàng excel, chim heo cá gà excel là thấy ghét.
Nếu là lão chết tiệt ra đề thì sẽ như sau:

Bài 1: Chỉ sử dụng Vlookup, HLookup, Lookup. Không tạo cột phụ.

View attachment 287252

Bài 2: Chỉ sử dụng Index và Match. Sheet Index dùng thêm 3 hàm tính tương ứng: tổng, đếm và trung bình, cũng không dùng cột phụ.

View attachment 287251

Và cũng là đề chết tiệt nên ai muốn làm thì làm, không thì thôi. Không chấm điểm, không giải thưởng.
Góp ý cho bài tập 1:

Chỉ có tồn đầu tháng 1, thiếu bảng nhập xuất trong kỳ từ tháng 1 đến tháng 12, do vậy nên số lượng bán của mã hàng: HH00016= 21+16, HH00083= 24 không khớp với số tồn đầu kỳ.

Nếu chi tiết theo tháng, và áp dụng giá theo phương thức tính giá vốn nào nữa thì e khó cho học sinh, nhưng dù sao cũng phải có mới gần thực tế.

Thân
 
Góp ý cho bài tập 1:
Chỉ có tồn đầu tháng 1, thiếu bảng nhập xuất trong kỳ từ tháng 1 đến tháng 12, do vậy nên số lượng bán của mã hàng: HH00016= 21+16, HH00083= 24 không khớp với số tồn đầu kỳ.
Nội dung bài tập quy ước rằng lấy giá trong bảng tồn đầu làm giá bán cho cả năm, không phải chỉ tồn bấy nhiêu mà bán được cả năm. Chuyện nhập hàng ngày cho đủ bán là việc của bên thu mua, còn phiếu bán hàng trong bài tập là của bên nhân viên bán hàng lập. Nhân viên bán hàng đếm số lượng thực bán và tính tiền.
Mục đích của việc lấy giá bán oái oăm này là không cho dùng cột phụ vẫn phải tính được đơn giá (chết tiệt mà).
 
Nội dung bài tập quy ước rằng lấy giá trong bảng tồn đầu làm giá bán cho cả năm, không phải chỉ tồn bấy nhiêu mà bán được cả năm.
Vậy nên điều chỉnh nho nhỏ yêu cầu trong bài, đoạn:

Thay vì: "Đơn giá: dò tìm thành tiền và số lượng tồn trong sheet DSMH, tính ra đơn giá"

Có thể ghi: "Đơn giá: dò tìm thành tiền và số lượng tồn trong sheet DSMH, tính ra đơn giá, làm giá quy ước tính cho cả năm "
 
Loại 2 cấp <La mã - ABC>, thay vì Right(B2,1) bạn dùng Trim(B1) cho đơn giản.
Loại 3 cấp thì đúng rồi nhưng công thức dài quá. Tôi đang tìm công thức ngắn hơn mà chưa ra.
Theo em thì công thức này đẹp nhất rồi.
Mã:
I3=if(K3<>"",ROMAN(COUNTA(K$3:K3)),if(L3<>"",if(K2<>"","     A","     "&char(code(trim(OFFSET(I2,-I2,0)))+1)),if(L2<>"",1,I2+1)))
Gửi mọi người góp ý ạ.
Tính không sử dụng công thức mảng nhưng không nghĩ ra được cách nào mà không phải sử dụng nó.
 
Lần chỉnh sửa cuối:
Bài tập 4: Hàm Offset
Dùng hàm Offset tạo name theo yêu cầu trong file. Ở cả 3 sheet
 

File đính kèm

Lần chỉnh sửa cuối:
Bài tập 3: Hàm Offset
Dùng hàm Offset tạo name theo yêu cầu trong file. Ở cả 3 sheet
Món này là trung cấp rồi bác. Thời em học cơ bản đến vlookup, hlookup là hết rồi. Từ index trở đi là nó xịn xịn. Nên validation và name động offset với em là phải mò rồi.
 
Món này là trung cấp rồi bác. Thời em học cơ bản đến vlookup, hlookup là hết rồi. Từ index trở đi là nó xịn xịn. Nên validation và name động offset với em là phải mò rồi.
Thì phải tăng cấp lên chứ, ở mãi dưới đáy sao?
 
Chương trình lớp 10 anh ơi. Lớp 10 làm toán lượng giác là phải tính tay theo bảng in giấy rồi. Nhắc lại không thừa cho các bạn đang đi làm.
đúng thật là sin, cos, tan là trương trình lớp 10, NHƯNG, ko có đứa lớp 10 nào đưa được cái phương trình đó vào excel, viết công thức và cho ra kết quả đúng đâu bạn =))
 
đúng thật là sin, cos, tan là trương trình lớp 10, NHƯNG, ko có đứa lớp 10 nào đưa được cái phương trình đó vào excel, viết công thức và cho ra kết quả đúng đâu bạn =))
Bạn đã học lớp 10, đúng không? Và bạn đang đi làm và biết Excel, đúng không? Nếu không biết đưa vào thì tại ai?
 
Bài tập 3: Hàm Offset
Dùng hàm Offset tạo name theo yêu cầu trong file. Ở cả 3 sheet
Nộp bài.
Bài này em nghĩ bác phải có phần thưởng mới đúng.
Bài khó kinh dị, công thức thì dài cả cây số. Nhìn xong còn thấy phát hãi với bản thân luôn nhé bác.
Em khuyến mãi bác thêm 1 Name "SLsp" nữa.
Link tham khảo
 

File đính kèm

Nộp bài.
Bài này em nghĩ bác phải có phần thưởng mới đúng.
Bài khó kinh dị, công thức thì dài cả cây số. Nhìn xong còn thấy phát hãi với bản thân luôn nhé bác.
Em khuyến mãi bác thêm 1 Name "SLsp" nữa.
Link tham khảo
Đừng hòng mà 10 điểm, không dễ xơi như vậy đâu. Last 5 cost sai bét
Tôi thêm dữ liệu mà Last 5 cost chẳng thay đổi gì. Những cái khác thì tự kiểm tra đi nhé.

1680584408888.png 1680584460073.png
 
Lần chỉnh sửa cuối:

File đính kèm

  • 1680584712747.png
    1680584712747.png
    98.9 KB · Đọc: 13

File đính kèm

Em xin gửi đáp án câu 3, bài tập 3, thầy xem qua giúp em.
 

File đính kèm

Bác cùng ý tưởng ban đầu với em rồi. :D :D :D
Nhưng bác @ptm0412 không chịu đâu bác ạ. 5 ngày của bác ấy khác lắm. :wallbash: :wallbash: :wallbash:
PS: Bác @ptm0412 ạ, rõ là bác cho đề sai rồi nhé. :cool::cool::cool:
Yêu cầu chưa rõ chứ không phải sai: chắc bác ấy yêu cầu 5 ngày cuối của dãy DayMFG. Nếu thế thì phải nói rõ chút nữa chứ bà con lại hiểu là 5 ngày cuối của đoạn D2:E2.

Mà đã làm được 5 ngày cuối của D2:E2 thì có gì mà không làm được 5 ngày cuối của dãy DayMFG. Nếu thực sự đây là bài thi thì phải chấm đúng cho cả 2 kiểu 5 ngày cuối.
Bài đã được tự động gộp:

Đây là ký hiệu từ thời Pháp thuộc để lại & có nghĩa là "." (chấm) & hết
Những ai đã đi học lớp 2 trở lên trước 1975 đều đã từng dùng ký hiệu này.
 
Anh xem thử. Tôi đặt validation cho 2 cột ngày luôn cho người ta khỏi nhập sai và cũng đơn giản công thức.
Anh cũng hiểu sai đề. "5 ngày cuối" là 5 ngày cuối cả bảng. Chính vì vậy tôi mới viết "thêm dòng dữ liệu, thêm cột ngày mới". Nếu chọn từ ngày 1 đến ngày 3 tháng 4, chỉ 3 ngày thì lấy đâu ra 5 ngày cuối?
Name anh viết ngắn hơn cantl nhưng vẫn còn khủng.
Bác thích thì em chiều phiên bản Đề sai. :D :D :D
Đề không sai. Nếu chọn từ ngày 1 đến ngày 3 tháng 4, chỉ 3 ngày thì lấy đâu ra 5 ngày cuối? Thêm cột ngày mới làm gì nếu không xài tới?
Vẫn không đạt điểm tối đa của lão chết tiệt:
1. Lão này chúa ghét tham chiếu trong công thức kiểu nguyên dòng nguyên cột kiểu A:A, B:B, 8:8
2. Name sau không tận dụng được name trước, tính toán lại lần nữa.
3. Lão này không thích công thức khủng dài cả thước
Bài đã được tự động gộp:

Em xin gửi đáp án câu 3, bài tập 3, thầy xem qua giúp em.
Khi level 1 qua la mã mới thì level 2 phải quay về A, giống như level 3 quay về 1 vậy
 
Lần chỉnh sửa cuối:
Anh cũng hiểu sai đề. "5 ngày cuối" là 5 ngày cuối cả bảng. Chính vì vậy tôi mới viết "thêm dòng dữ liệu, thêm cột ngày mới". Nếu chọn từ ngày 1 đến ngày 3 tháng 4, chỉ 3 ngày thì lấy đâu ra 5 ngày cuối?
Name anh viết ngắn hơn cantl nhưng vẫn còn khủng.
Hiểu sai đề thì tôi đã nói ở bài #75 rồi. Còn về công thức khủng là do tôi phòng trường hợp dãy DayMFG đó có ít hơn 5. Sau đây là công thức tôi viết cho Last5Cost mới sửa lại:
=OFFSET(Data!$D$9;0;DAY(INDEX(DayMFG;COUNT(DayMFG)))-IF(INDEX(DayMFG;COUNT(DayMFG))-Name!$D2+1>=5;5;INDEX(DayMFG;COUNT(DayMFG))-Name!$D2+1);COUNTA(MFGLoc);IF(INDEX(DayMFG;COUNT(DayMFG))-Name!$D2+1>=5;5;INDEX(DayMFG;COUNT(DayMFG))-Name!$D2+1))

Nếu không phòng cho trường hợp DayMFG có ít hơn 5 thì công thức sẽ thế này:
OFFSET(Data!$D$9;0;DAY(INDEX(DayMFG;COUNT(DayMFG)))-Name!$D2+1;COUNTA(MFGLoc);INDEX(DayMFG;COUNT(DayMFG))-Name!$D2+1)
 
Nếu không phòng cho trường hợp DayMFG có ít hơn 5 thì công thức sẽ thế này:
OFFSET(Data!$D$9;0;DAY(INDEX(DayMFG;COUNT(DayMFG)))-Name!$D2+1;COUNTA(MFGLoc);INDEX(DayMFG;COUNT(DayMFG))-Name!$D2+1)
Anh xem:
Last5New = OFFSET(MFGProd,,COLUMNS(DayMFG)-4,,5)

Nếu phòng chống covid thì
Last5New = OFFSET(MFGProd,,MAX(COUNT(DayMFG)-4, 1),,MIN(5,COUNT(DayMFG)))
 
Lần chỉnh sửa cuối:
Anh xem:
Last5New = OFFSET(MFGProd,,COLUMNS(DayMFG)-4,,5)

Nếu phòng chống covid thì tham số thứ 4 của Offset là MIN(COLUMNS(DayMFG)-4, COLUMNS(DayMFG))
Haha. Hồi nào đến giờ chưa bao giờ dùng đến hàm Columns nên trong đầu không có nó. Giờ thì ghi vào đầu rồi. Cảm ơn anh!
 
Lần chỉnh sửa cuối:
Anh xem:
Last5New = OFFSET(MFGProd,,COLUMNS(DayMFG)-4,,5)

Nếu phòng chống covid thì
Last5New = OFFSET(MFGProd,,MAX(COUNT(DayMFG)-4, 1),,MIN(5,COUNT(DayMFG)))
Bác gửi đáp án của bác em tham khảo với. Offset cả 1 range thì với em nó mới tinh đấy.
Phần Name này em dùng khó chịu thật, cứ dùng phím mũi tên là nó lại nhảy địa chỉ mà không sang bên cạnh. Địa chỉ thì cứ phải tuyệt đối không là nó lại nhảy lung tung cả lên.
 
Bác gửi đáp án của bác em tham khảo với. Offset cả 1 range thì với em nó mới tinh đấy.
Phần Name này em dùng khó chịu thật, cứ dùng phím mũi tên là nó lại nhảy địa chỉ mà không sang bên cạnh. Địa chỉ thì cứ phải tuyệt đối không là nó lại nhảy lung tung cả lên.
Cứ ghi công thức ra 1 ô rồi copy vô thôi.
 
Không nhớ Columns thì xài CountA cũng được nha anh, ngày và số xài thêm Count nữa.
Thú thật là lâu không dùng công thức nên mất độ nhạy, thêm nữa phần nhỏ là bị bài lai của công thức hiểu sai đề ở trên.
 
Khi level 1 qua la mã mới thì level 2 phải quay về A, giống như level 3 quay về 1 vậy
Nộp bài cũ hết hạn. :wallbash: :wallbash: :wallbash:
Trong lúc chờ đáp án chính chủ bài mới thì em nộp bài cũ hết hạn. Khiếp, bài cơ bản gì mà làm mệt bở hơi tai thế bác, em phải thật là rất rảnh không có việc làm mới mò được mấy bài cơ bản bá đạo này. :wallbash::wallbash::wallbash:
 

File đính kèm

Thú thật là lâu không dùng công thức nên mất độ nhạy, thêm nữa phần nhỏ là bị bài lai của công thức hiểu sai đề ở trên.
Kể cả hiểu sai đề, nhưng với cách ở bài #79 thì cũng ngắn gọn thôi:
Kể cả có dự phòng covid cũng chỉ thế này:

Last5Days =OFFSET(MFGProd,,MAX(1,MATCH(Name!$E2,DayMFG,0)-4),,MIN(5,MATCH(Name!$E2,DayMFG,0)))

mấy bài cơ bản bá đạo
Hàm chính chỉ có hàm If thì gọi là cơ bản.

1. La mã và số: B3 =IF(C3<>"",ROMAN(COUNTA(C2:C$2)),IF(C2<>"",1,B2+1))

1680614066530.png

2. La mã và ABC: J3 =IF(K3<>"",CHAR(COUNTA(K2:K$2)+64),IF(K2<>"",1,J2+1))

1680614196774.png

3. ABC và số: R3 =IF(S3<>"",ROMAN(COUNTA(S2:S$2)),IF(S2<>"","A",CHAR(CODE(R2)+1)))

1680614350212.png

4. 3 cấp: tôi làm ngắn không ra nên tạm để đó, chứ công thức dài ghét lắm.
 
Lần chỉnh sửa cuối:
4. 3 cấp: tôi làm ngắn không ra nên tạm để đó, chứ công thức dài ghét lắm.
Cái này có được tính là ngắn không bác
Mã:
I3=if(K3<>"",ROMAN(COUNTA(K$3:K3)),if(L3<>"",if(K2<>"","     A","     "&char(code(trim(OFFSET(I2,-I2,0)))+1)),if(L2<>"",1,I2+1)))

Về bài Offset, em rút gọn lại được như sau:
Mã:
Qty=OFFSET(MFGProd,0,COUNTIF(DayMFG,"<"&Name!$D$2)+1,,COUNTIFS(DayMFG,">="&Name!$D$2,DayMFG,"<="&Name!$E$2))
last5Cost=OFFSET(MFGProd,0,COUNT(DayMFG),,-COUNTIF(DayMFG,">="&MAX(DayMFG)-4))
 
Về bài Offset, em rút gọn lại được như sau:
Mã:
Qty=OFFSET(MFGProd,0,COUNTIF(DayMFG,"<"&Name!$D$2)+1,,COUNTIFS(DayMFG,">="&Name!$D$2,DayMFG,"<="&Name!$E$2))
last5Cost=OFFSET(MFGProd,0,COUNT(DayMFG),,-COUNTIF(DayMFG,">="&MAX(DayMFG)-4))
Của tôi đây:
Qty =OFFSET(MFGProd,,MATCH(Name!$D$2,DayMFG,0),,COUNTIFS(DayMFG,">="&Name!$D$2,DayMFG,"<="&Name!$E$2))
Last5Cost = OFFSET(MFGProd,,MAX(COUNT(DayMFG)-4, 1),,MIN(5,COUNT(DayMFG)))

Ngắn hơn nữa nếu như ngày liên tục:
Qty =OFFSET(MFGProd,,MATCH(Name!$D$2,DayMFG,0),,Name!$E$2-Name!$D$2+1)
 
Lần chỉnh sửa cuối:
Của tôi đây:
Qty =OFFSET(MFGProd,,MATCH(Name!$D$2,DayMFG,0),,COUNTIFS(DayMFG,">="&Name!$D$2,DayMFG,"<="&Name!$E$2))
Last5Cost = OFFSET(MFGProd,,MAX(COUNT(DayMFG)-4, 1),,MIN(5,COUNT(DayMFG)))

Ngắn hơn nữa nếu như ngày liên tục:
Qty =OFFSET(MFGProd,,MATCH(Name!$D$2,DayMFG,0),,Name!$E$2-Name!$D$2+1)
Cái 5 ngày cuối có nhiều ý hiểu thật.
Em làm hàm countif để đề phòng trường hợp này:
1 là có 1 ngày cách quãng trong 5 ngày đó. 5 ngày cuối nên được hiểu là 5 ngày (kể từ ngày cuối cùng -4 đến ngày cuối) hay là cứ đúng 5 cột ngày cuối cùng của bảng.
2 là giả sử 1 ngày phải nhập 2 lần, có 2 cột cùng ngày trên bảng.
 
Cái 5 ngày cuối có nhiều ý hiểu thật.
Em làm hàm countif để đề phòng trường hợp này:
1 là có 1 ngày cách quãng trong 5 ngày đó. 5 ngày cuối nên được hiểu là 5 ngày (kể từ ngày cuối cùng -4 đến ngày cuối) hay là cứ đúng 5 cột ngày cuối cùng của bảng.
2 là giả sử 1 ngày phải nhập 2 lần, có 2 cột cùng ngày trên bảng.
Giả định là ngày liên tục và không trùng. Công thức của bạn đúng mà? Tôi chỉ đưa ra 1 công thức khác để tham khảo.
Dù vậy cũng có dự phòng nguyên dãy ngày dòng 8 mới có vài cột có ghi ngày đầu tháng, những ngày sau chưa có số liệu nên bỏ trống. Trống cả ô chứa ngày)
 
Bài tập 6: Chuyển dữ liệu 1 cột thành bảng nhiều cột và ngược lại. File đính kèm gồm 2 sheet, 4 câu.
Chỉ dùng công thức thường của 2019 trở xuống.
 

File đính kèm

Bài tập 6: Chuyển dữ liệu 1 cột thành bảng nhiều cột và ngược lại. File đính kèm gồm 2 sheet, 4 câu.
Chỉ dùng công thức thường của 2019 trở xuống.
Khó quá sư phụ ơi.
Mà đối tượng tham gia giải là thế nào? điều kiện ra sao? AI tham gia cũng được hay sao?
 
Khó quá sư phụ ơi.
Mà đối tượng tham gia giải là thế nào? điều kiện ra sao? AI tham gia cũng được hay sao?
Theo chủ đề này thì ai tham gia cũng được, nhưng không chấm điểm, không thưởng, không đánh giá. Chỉ có đúng và sai.
 
Bài tập 6: Chuyển dữ liệu 1 cột thành bảng nhiều cột và ngược lại. File đính kèm gồm 2 sheet, 4 câu.
Chỉ dùng công thức thường của 2019 trở xuống.
Em làm trước 3 câu, không biết đi đúng hướng để làm câu 4 không nữa thầy ơi.
 

File đính kèm

Lòng vòng cũng trong phạm vi INDEX, với tham số lấy từ INT,MOD
 

File đính kèm

Đúng nhưng
=IFERROR(INDEX($C$2:$C$17,(COLUMNS($M$8:M8))+4*INT((ROW()-9)/4)*IF(MOD((ROW()-9),4)=0,1,"A")),"")
dài quá, phức tạp quá. Đơn giản hơn sẽ ngắn hơn
Bài đã được tự động gộp:

Lòng vòng cũng trong phạm vi INDEX, với tham số lấy từ INT,MOD
Viết chung đi chứ phải dùng cột phụ làm gì. Nếu để giải thích thì được. Nhưng thực hành cỡ bebo thì viết chung.
 

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

Back
Top Bottom