Bài tập hàm Excel căn bản.

Liên hệ QC
Bạn làm nghề y mà đưa ra kết luận sớm quá. Với lại cách xử lý của bạn có vẻ gì đó khá là vội vàng. Hy vọng không ảnh hưởng đến nghề nhé. :):):)

Ý trên tớ có thể cho lookup dò tìm 4 trả về khác 1 đấy.
1681915929740.png
Đây bạn. Mình chỉ muốn nói, theo mình lookup nó dò tìm từ trên xuống, nếu dò tìm từ dưới lên thì nó phải trả về giá trị 2.
 
@chủ thớt:
Ở bài #3, tôi đã nói Lookup là hàm nguy hiểm mờ. Bi giờ bạn hiểu chưa?
 
File excel em gửi trên mà. Thích 1 ra 1, thích 2 ra 2 đấy bác.
Té ra kết quả khác 1 là công thức viết tào lao rồi không kiểm soát được. Làm đúng chỉ có 1 cách. Cố tình làm sai thì nhiều cách
@chủ thớt:
Ở bài #3, tôi đã nói Lookup là hàm nguy hiểm mờ. Bi giờ bạn hiểu chưa?
Tôi hiểu từ năm ngoái. Nhưng trước đó tôi đã rất nhấn mạnh là lookup và các kiểu dò tìm không chính xác bắt buộc phải sắp thứ tự trước.
Match có 2 kiểu dò không chính xác thì phải có 2 kiểu sort:
kiểu 1: sắp xếp tăng dần. Lấy giá trị lớn nhất nhỏ hơn giá trị dò tìm (vị trí)
kiểu -1: sắp xếp giảm dần. Lấy giá trị nhỏ nhất lơn hơn giá trị cần tìm (vị trí)
 
Bác hơi bảo thủ ấy nhé.
Đúng ra là vô tình làm sai thôi bác ạ.
Nhờ vậy nên mới biết lookup chỉ nên giới hạn dữ liệu chứ không kéo ầm ầm như vlook, hlook được.
Vô tình sai rồi cố tình khoe giống như phát kiến vĩ đại "muốn gì có nấy"
 
Vô tình sai rồi cố tình khoe giống như phát kiến vĩ đại "muốn gì có nấy"
Bác thông cảm, hàm thì không thông, vba thì không viết được, may ra phát hiện được cái sai thì bác phải để anh em lâng lâng tí chứ.
_)(#; _)(#; _)(#;
 
Bác thông cảm, hàm thì không thông, vba thì không viết được, may ra phát hiện được cái sai thì bác phải để anh em lâng lâng tí chứ.
Nếu vô tình phát hiện ra 1 cái sai, thay vì lâng lâng, hãy làm như sau:
- Ghi lại tình huống sai, ghi lại kết quả sai
- Thử thêm tình huống thứ 2, thứ 3, ... Nếu lần 1 sai do tình huống bên trái, thử thêm tình huống bên phải, bên trên bên dưới, ...
- Mỗi tình huống ghi lại tình huống saai, kết quả sai. Chụp hình ghi lại
- Cuối cùng rút ra 1 kết luận
- Tập hợp lại, viết thành sách. Vui thì post thành tài liệu miễn phí, buồn thì in thành sách bán tỷ tiền. Cũng giúp ích chút gì đó cho người mới học khác, chứ lâng lâng rồi thì ...
 
Nếu vô tình phát hiện ra 1 cái sai, thay vì lâng lâng, hãy làm như sau:
- Ghi lại tình huống sai, ghi lại kết quả sai
- Thử thêm tình huống thứ 2, thứ 3, ... Nếu lần 1 sai do tình huống bên trái, thử thêm tình huống bên phải, bên trên bên dưới, ...
- Mỗi tình huống ghi lại tình huống saai, kết quả sai. Chụp hình ghi lại
- Cuối cùng rút ra 1 kết luận
- Tập hợp lại, viết thành sách. Vui thì post thành tài liệu miễn phí, buồn thì in thành sách bán tỷ tiền. Cũng giúp ích chút gì đó cho người mới học khác, chứ lâng lâng rồi thì ...
Thôi bác ạ. Em văn yếu thơ mềm lắm. Viết sách không được đâu. Cố lắm cũng chỉ copy dán vào và in thì may ra còn được.
Kiểu tổng hợp dạng đủ các bẫy lỗi phức tạp lắm, khi nào gặp thì tự nhớ chứ nghiền ngẫm thì nay nhớ mai quên.
Thôi thì tùy cơ mà đánh chén thôi.
 
Bác hơi bảo thủ ấy nhé.
Đúng ra là vô tình làm sai thôi bác ạ.
Nhờ vậy nên mới biết lookup chỉ nên giới hạn dữ liệu chứ không kéo ầm ầm như vlook, hlook được.
Sơ sơ thấy vlookup tham số 1 cũng không khác lookup mấy.
 

File đính kèm

  • Screenshot_20230420_105727_com.google.android.apps.docs.editors.sheets.jpg
    Screenshot_20230420_105727_com.google.android.apps.docs.editors.sheets.jpg
    57.3 KB · Đọc: 16
Sơ sơ thấy vlookup tham số 1 cũng không khác lookup mấy.
Mấy đối số 1, -1 của Vlook, hlook, match, index mình sẽ không dùng.
Cố tránh nhất có thể vì nếu nhiều dữ liệu thì không đủ tự tin là mình luôn sắp xếp chắc cú tăng dần hoặc giảm dần.
Cố tìm chính xác nhất có thể hoặc nghĩ hàm khác.
 
Tòm lược về hàm dò tìm:

Từ bài #142, tôi vốn chỉ mượn cơ hội này để giải thích cách làm việc của phép dò nhị phân. Đồng thời để bác bỏ quan niệm của nhiều người [dân GPE] cho rằng trong cái công thức mẹo Lookup(2. 1/..., ...), hàm sẽ được mặc định trả về vị trí chứa 1 cuối cùng.
Trong mệnh đề trên, "vị trí chứa 1 cuối cùng" thì đúng, nhưng "mặc định" thì sai.

Nếu hiểu cách làm việc của hàm dò tìm, quý vị sẽ nghiệm ra rằng khi dò gần đúng thì hàm "mặc định" rằng phần tử cuối cùng có trị xác định được (error là trị không xác định) là phần tử lớn nhất trong dãy (đúng tính chất của dãy xếp tăng dần).
Theo tính chất của dãy tăng dần thì một phần tử luôn luôn >= phần tử trước nó, và <= phần tử sau nó. Hàm dò tìm đặt thêm một tính chất phụ là hiểu ngầm rằng sau phầm tử cuối cùng là một phần tử [ảo] có trị cực lớn.
Hàm dò tìm dừng lại khi nó tìm ra khoảng chứa "không kể chận phải". Và trả về chận trái.
[ 2, 4 ] là khoảng chứa 2, 2,5, 3,... (hàm trả vè vị trí của 2), nhưng không chứa 4 (chận phải).

Theo kiểu làm việc đó, công thức Lookup(2, 1/(...) trả về vị trí của trị 1 cuối cùng trong dãy (...), bởi vì dãy này chỉ chứa toàn 1's và Error's. Nếu trong dãy (...) có trị 0 đi sau 1 thì nó sẽ chọn 0 vì nó tin rằng 0 là lớn nhất - luật cần thiết của dãy tăng dàn (chuyện không xảy ra, nhưng bạn có thể chèn hàm IF vào để thử). Lưu ý rằng trị cần tìm công cong thức mẹo được giả định là 2, tức cả 0 lẫn 1 đều thỏa điều kiện thứ nhất: <= trị cần tìm. (điều liện thứ hai: trị lớn nhất). Nếu trong lúc thử, bạn dùng 3 thay vì 0 thì nó sẽ chiếu về 1. (3 > 2).

Người tìm ra công thức này là một tay rất giỏi về lập trình chứ không phải tình cờ.
 
View attachment 289226
Đây bạn. Mình chỉ muốn nói, theo mình lookup nó dò tìm từ trên xuống, nếu dò tìm từ dưới lên thì nó phải trả về giá trị 2.
Ví dụ của bạn không chứng minh rằng nó dò từ trên xuống dưới.
Ví dụ chỉ nêu được giả thuyết rằng khi dãy bị sắp xếp lộn xộn thì hàm sẽ cố gằng tìm một khoảng chứa (đọc định nghĩa khoảng chứa ở bài #173) lô gic cho trị cần tìm. Và nếu có nhiều khoảng chứa thỏa mãn thì hàm sẽ chọn cái gần nhất (trên xuống/trái phải).

1681977557489.png
 
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:

View attachment 287349
cái này nếu k có gợi ý mình vẫn phang được nhé, dùng nội suy Newton, nội suy Largrang hoặc dùng khai triển Taylor đều được, chỉ là đưa ra kết quả k cần yêu cầu nào về sai số thôi =))
 
cái này nếu k có gợi ý mình vẫn phang được nhé, dùng nội suy Newton, nội suy Largrang hoặc dùng khai triển Taylor đều được, chỉ là đưa ra kết quả k cần yêu cầu nào về sai số thôi =))
Đó là giải bài tập thôi, còn thực tế người ra dùng luôn hàm SIN của excel
 
Bạn làm file excel tớ tham khảo với. Lâu quá không dùng toán nên cũng quên hết sạch.
Nhưng tớ thực sự rất nể mấy bạn có tư duy toán học.
Nói dóc thôi chứ cái tên Lagrange cũng đánh vần không được thì ...

Chú thích: tính Taylor's Series với Lagrange Remainder là một trong những bài tập căn bản của môn lập trình.
Lagrange Interpolation là mọt trong những lý thuyết bạn học trong môn Numerical Analysis. Tuy nhiên, để hiểu phàn này, bạn phải có căn bản về Đại Số Tuyến Tính (Linear Algebra)
Bài toán tính nghiệm phương trình đa thức bằng Newton-Raphson không thông dụng lắm với môn lập trình. Bởi vì phải có khá nhiều kiến thức về Numerical Analysis mới biết cách đoán công thức có hội tụ hay không.
 
cái này nếu k có gợi ý mình vẫn phang được nhé, dùng nội suy Newton, nội suy Largrang hoặc dùng khai triển Taylor đều được, chỉ là đưa ra kết quả k cần yêu cầu nào về sai số thôi =))
Bài tập yêu cầu dùng Index và Match. Nếu dùng Index và Match có được cận trên cận dưới của x, cận trên cận dưới của y, thì chỉ cần nhân chia kiểu hệ số tam giác đồng dạng.
Bạn dùng toán học cao siêu để giải là zero điểm câu này. À mà chủ đề này không chấm điểm, quên.
 
Bài tập 8: Hàm ngày tháng
Chỉ có 3 câu, chỉ dùng công thức và hàm Excel. Bài này mà không căn bản nữa thì thôi (giả định mới học xong các hàm xử lý ngày tháng)
 

File đính kèm

  • BT8-DateFunction.xlsx
    15.5 KB · Đọc: 19
Web KT
Back
Top Bottom