Làm hộ công thức lấy số dương nhỏ nhất

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

ktnl

Thành viên mới
Tham gia
4/5/08
Bài viết
1
Được thích
0
Mình đang có một bài tập thế này.Một bảng tính,trong đó có một cột là từ 1 đến 30.một cột nữa là các giá trị tăng dần từ âm đến dương với 30 kết quả.bây giờ mình muốn lấy giá trị thế này,lấy giá trị lớn hơn 0 và đồng thời cũng nhỏ nhất so với các số lớn hơn 0 còn lại,sau đó gióng sang cột 1 xem giá trị đó tương ứng với là bao nhiêu và kết quả của hàm là bằng giá trị đó trừ đi 1.cảm ơn các bro

1 -40.852 2 -39.633 3 -38.524 4 -37.516 5 -36.599 6 -35.827 7 -35.159 8 -34.585 9 -34.099 10 -33.694 11 -26.895 12 -20.714 13 -15.095 14 -10.127 15 -5.6098 16 -2.4873 17 0.3514 18 2.9321 19 5.2781 20 7.4108 21 9.3497 22 11.112 23 12.715 24 14.171 25 15.496 26 16.7 27 17.794 28 18.789 29 19.693 30 20.516
-----------------------------------------
OverAC: Bạn cần đặt tên tiêu đề rõ ràng, Những vi phạm như thế này sẽ bị chuyển vào khu vực vi phạm nội quy.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Mình đang có một bài tập thế này.Một bảng tính,trong đó có một cột là từ 1 đến 30.một cột nữa là các giá trị tăng dần từ âm đến dương với 30 kết quả.bây giờ mình muốn lấy giá trị thế này,lấy giá trị lớn hơn 0 và đồng thời cũng nhỏ nhất so với các số lớn hơn 0 còn lại,sau đó gióng sang cột 1 xem giá trị đó tương ứng với là bao nhiêu và kết quả của hàm là bằng giá trị đó trừ đi 1.cảm ơn các bro

Oh, mún ng khác giúp sao bạn k đưa file excel lên nhỉ???

Gợi ý cho bạn nhé:
bạn dùng tổ hợp các hàm MATCH, COUNTIF, LARGE , và INDEX nữa -> chỉ cần 1 công thức là ra KQ bạn ah

thử sức xem nhé
 
Giã sử số thứ tự nằm ở A1:A30... các số đang xét nằm ở B1:B30
Vậy ta dùng công thức này là dc rồi:
Mã:
=MATCH(TRUE,$B$1:$B$30>0,0)
Công thức mãng, sau khi gõ xong hãy bấm tổ hợp phím Ctrl + Shift + Enter
Theo ví dụ trên tôi tính ra kết quả là 17
Xem file
ANH TUẤN
 

File đính kèm

Giã sử số thứ tự nằm ở A1:A30... các số đang xét nằm ở B1:B30
Vậy ta dùng công thức này là dc rồi:
Mã:
=MATCH(TRUE,$B$1:$B$30>0,0)
Công thức mãng, sau khi gõ xong hãy bấm tổ hợp phím Ctrl + Shift + Enter
Theo ví dụ trên tôi tính ra kết quả là 17
Xem file
ANH TUẤN

Rất hay NHƯNG Chưa chính xác vì xem ý tác giả
,sau đó gióng sang cột 1 xem giá trị đó tương ứng với là bao nhiêu và kết quả của hàm là bằng giá trị đó trừ đi 1.cảm ơn các bro

+ 16 mới đúng ah, vì còn trừ đi 1 nữa,
+ và thêm nữa tác giả muốn gióng lấy giá trị tại cột 1 a ah, trường hợp công thức anh sẽ chỉ đúng nếu bên cột A là thứ tự liên tiếp (???)

* Giải pháp sửa là thêm -1 hàm INDEX, cụ thế công thức trở thành
PHP:
{=INDEX(A1:A30,MATCH(TRUE,$B$1:$B$30>0,0))-1}
(LÀ Công thức mãng, sau khi gõ xong (KHÔNG gõ 2 dấu { và }) hãy bấm tổ hợp phím Ctrl + Shift + Enter)

* có thể sd k cần sd công thức mảng nó sẽ nhẹ nhàng hơn - theo gợi ý bài #2 của tigertiger
.
 
Rất hay NHƯNG Chưa chính xác vì xem ý tác giả


+ 16 mới đúng ah, vì còn trừ đi 1 nữa,
+ và thêm nữa tác giả muốn gióng lấy giá trị tại cột 1 a ah, trường hợp công thức anh sẽ chỉ đúng nếu bên cột A là thứ tự liên tiếp (???)

* Giải pháp sửa là thêm -1 hàm INDEX, cụ thế công thức trở thành
PHP:
{=INDEX(A1:A30,MATCH(TRUE,$B$1:$B$30>0,0))-1}
(LÀ Công thức mãng, sau khi gõ xong (KHÔNG gõ 2 dấu { và }) hãy bấm tổ hợp phím Ctrl + Shift + Enter)

* có thể sd k cần sd công thức mảng nó sẽ nhẹ nhàng hơn - theo gợi ý bài #2 của tigertiger
.
Cái này thì quá chính xác.. nhưng.. cũng quá dư... Trừ 1 hay ko là tùy tác giã... Đàng nào cột A cũng là số thứ tự và đàng nào cũng dựa trên thuật toán MATCH, đúng ko?
Vậy muốn trừ 1 thì trừ vào kết quả vừa ra ấy
=MATCH(TRUE,$B$1:$B$30>0,0)-1
Cớ gì phải INDEX? Trừ phi cột A có dử liệu dạng khác, ko phải số thứ tự
he... he...
 

Vậy muốn trừ 1 thì trừ vào kết quả vừa ra ấy
=MATCH(TRUE,$B$1:$B$30>0,0)-1
Cớ gì phải INDEX? Trừ phi cột A có dử liệu dạng khác, ko phải số thứ tự
Đúng rồi! Còn nếu dữ liệu nằm ở A5:B34 thì trừ 6. Cái này phải linh động chứ!
 
Mình đang có một bài tập thế này.Một bảng tính,trong đó có một cột là từ 1 đến 30.một cột nữa là các giá trị tăng dần từ âm đến dương với 30 kết quả.bây giờ mình muốn lấy giá trị thế này,lấy giá trị lớn hơn 0 và đồng thời cũng nhỏ nhất so với các số lớn hơn 0 còn lại,sau đó gióng sang cột 1 xem giá trị đó tương ứng với là bao nhiêu và kết quả của hàm là bằng giá trị đó trừ đi 1.cảm ơn các bro

1 -40.852 2 -39.633 3 -38.524 4 -37.516 5 -36.599 6 -35.827 7 -35.159 8 -34.585 9 -34.099 10 -33.694 11 -26.895 12 -20.714 13 -15.095 14 -10.127 15 -5.6098 16 -2.4873 17 0.3514 18 2.9321 19 5.2781 20 7.4108 21 9.3497 22 11.112 23 12.715 24 14.171 25 15.496 26 16.7 27 17.794 28 18.789 29 19.693 30 20.516

  1. không gửi file, nhìn đã thấy ngại
  2. mượn file của anhtuan1066 bổ sung thêm cho 2 giải pháp không dùng công thức mảng
 

File đính kèm

  1. không gửi file, nhìn đã thấy ngại
  2. mượn file của anhtuan1066 bổ sung thêm cho 2 giải pháp không dùng công thức mảng
Uh nhì! Sao mình ko nghĩ ra vụ dò tìm ko chính xác trong danh sách đã sort trước nhỉ!
Boyxin hay đấy! Tuy nhiên trong trường hợp cụ thể này thì chỉ cần:
Mã:
=MATCH(0,$B$1:$B$30)
là quá đủ rồi...
 


Đúng rồi! Còn nếu dữ liệu nằm ở A5:B34 thì trừ 6. Cái này phải linh động chứ!

Oh, vẫn trừ 1 (-1) a ptm ơi, vì hàm mach trả về thứ tự trong dãy (array - mảng) chứ k phải là hàng (row) của excel,


  1. không gửi file, nhìn đã thấy ngại
  2. mượn file của anhtuan1066 bổ sung thêm cho 2 giải pháp không dùng công thức mảng

rất thú vị, NHƯNG chỉ đúng khi dãy ở cột 2 đã sắp xếp -> Nên ghi chú: ÁP DỤNG CÔNG THỨC CHO TRƯỜNG HỢP DÃY Ở CỘT 2 ĐÃ SẮP XẾP THEO THỨ TỰ GIẢM DẦN
.
 
Lần chỉnh sửa cuối:
Oh, vẫn trừ 1 (-1) a ptm ơi, vì hàm mach trả về thứ tự trong dãy (array - mảng) chứ k phải là hàng (row) của excel,




rất thú vị, NHƯNG chỉ đúng khi dãy ở cột 2 đã sắp xếp -> Nên ghi chú: ÁP DỤNG CÔNG THỨC CHO TRƯỜNG HỢP DÃY Ở CỘT S ĐÃ SẮP XẾP THEO THỨ TỰ GIẢM DẦN
.

Mình đang có một bài tập thế này.Một bảng tính,trong đó có một cột là từ 1 đến 30.một cột nữa là các giá trị tăng dần từ âm đến dương với 30 kết quả.bây giờ mình muốn lấy giá trị thế này,lấy giá trị lớn hơn 0 và đồng thời cũng nhỏ nhất so với các số lớn hơn 0 còn lại,sau đó gióng sang cột 1 xem giá trị đó tương ứng với là bao nhiêu và kết quả của hàm là bằng giá trị đó trừ đi 1.cảm ơn các bro
  1. Em thấy bài tập thì nhúng tay vào làm thôi, chứ không có ý định nêu lên thành 1 điều gì to tát cả nên không để ý
  2. Cảm ơn Bác đã góp ý
 
Thêm 1 công thức nữa cho vui

  1. Em thấy bài tập thì nhúng tay vào làm thôi, chứ không có ý định nêu lên thành 1 điều gì to tát cả nên không để ý
  2. Cảm ơn Bác đã góp ý

uh, góp ý gì đâu, nói ra để chúng ta lường trước các bài khác thui hi iiiiiii

Thêm 1 công thức nữa cho vui có a có e, không cần cột 2 (cột B) sắp xếp trước:

NẾU tổng quát (cột A không phải thứ tự):
PHP:
=INDEX(A1:A30,MATCH(LARGE(B1:B30,COUNTIF(B1:B30,">0")),B1:B30,0))-1

NẾU cột A là thứ tự
PHP:
=MATCH(LARGE(B1:B30,COUNTIF(B1:B30,">0")),B1:B30,0)-1

.
 
Web KT

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

Back
Top Bottom