Lấy giá trị MAX của dữ liệu dạng Excel

Liên hệ QC

dqcuong88.vtct

Thành viên mới
Tham gia
9/12/11
Bài viết
18
Được thích
0
Mình có dữ liệu dạng Excel. Cứ theo chu kỳ 81 record nó sẽ lặp lại. Tức là sẽ từ 187.25 – 195.25. Ứng với mõi giá trị sẽ có dữ liệu tương ứng.

Giờ mình muốn trích lọc dữ liệu trên và lấy giá trị MAX sử dụng macro. Cho từng đoạn 187.25 – 195.25. Trong file dữ liệu có khoảng 20 lần lặp lại như vậy.

Mọi người giúp đỡ. Mình đính kèm file bên dưới.
 

File đính kèm

  • Data excel.xls
    75 KB · Đọc: 19
bạn dùng pivotable là xong sao pah3i dùng macro?
 
Nói không bằng làm. Trước hết tạo 1 cột phân loại:
C2 =INT((ROW(A1)-1)/81)+1

Sau đó là Pivot table: Field setting = Max, Filter = Top 1

Note: Dữ liệu trong file Excel nào mà chẳng dạng Excel hả trời?
 

File đính kèm

  • PivotNgocmai01.rar
    22.8 KB · Đọc: 10
Hì, Monalisa tính uýnh Pivot Table, nhưng sư nương uýnh roài, Monalisa xài Name và công thức vậy!
Cũng phân nhóm giống sư nương hén, rồi dùng name động như xế lày nà:

GroupN =OFFSET('Q42'!$B$1;MATCH('Q42'!$F2;'Q42'!$C$2:$C$1135;0);;COUNTIF('Q42'!$C$2:$C$1135;'Q42'!$F2);1)

Sau đó công thức sẽ là Max(GroupN)

Nếu hong xài Name thì uýnh trực tiếp như zầy:
=Max(OFFSET('Q42'!$B$1;MATCH('Q42'!$F2;'Q42'!$C$2:$C$1135;0);;COUNTIF('Q42'!$C$2:$C$1135;'Q42'!$F2);1))

Tên sheet dài quá, Mona ghét, Mona đổi tên ngắn lại nhen quý zị
 

File đính kèm

  • MaxGroupMonalisa.rar
    17.6 KB · Đọc: 9
Mình có dữ liệu dạng Excel. Cứ theo chu kỳ 81 record nó sẽ lặp lại. Tức là sẽ từ 187.25 – 195.25. Ứng với mõi giá trị sẽ có dữ liệu tương ứng.

Giờ mình muốn trích lọc dữ liệu trên và lấy giá trị MAX sử dụng macro. Cho từng đoạn 187.25 – 195.25. Trong file dữ liệu có khoảng 20 lần lặp lại như vậy.

Mọi người giúp đỡ. Mình đính kèm file bên dưới.
Tặng bạn một cái nút bấm và một cách dùng công thức luôn.
 

File đính kèm

  • Data excel3.rar
    20.4 KB · Đọc: 16
Lần chỉnh sửa cuối:
Bác Batê phẻ hông? Lâu quá Monalisa hông vô GPE, nên nhớ mọi người wá.
Công thức Bác Batê ngắn gọn hơn công thức Monalisa quá há! Chắc nhờ ăn gian con 81 zô, chứ Monalisa hỏng bít ăn gian, phải tìm con D2 = 1 ở đâu và đếm xem có bi nhiu con giống D2.
 
Lần chỉnh sửa cuối:
Ăn gian thì ăn gian cho trót Bác Bate ui, như dzầy nè:

=IF(D2="";"";MAX(OFFSET($B$1;81*D2-80;;81;1)))

Cớ chi 2 Offset dữ dzậy?
 
Bác Batê phẻ hông? Lâu quá Monalisa hông vô GPE, nên nhớ mọi người wá.
Công thức Bác Batê ngắn gọn hơn công thức Monalisa quá há! Chắc nhờ ăn gian con 81 zô, chứ Monalisa hỏng bít ăn gian, phải đếm xem có bi nhiu con.
Cảm ơn MonaLisa đã hỏi thăm, tôi vẫn khỏe, On Off đều đều.
Từ lúc vợ mất đến giờ lúc rảnh rỗi không biết làm gì, cứ vào GPE "suốt canh thâu", hì hì...
Chuyện ăn gian là do chủ topic nói rõ là cứ 81 record thì lập lại mà, theo đó mà tính thôi, hì hì nữa...
Mình có dữ liệu dạng Excel. Cứ theo chu kỳ 81 record nó sẽ lặp lại. Tức là sẽ từ 187.25 – 195.25. Ứng với mõi giá trị sẽ có dữ liệu tương ứng.
..........
 
Ăn gian thì ăn gian cho trót Bác Bate ui, như dzầy nè:

=IF(D2="";"";MAX(OFFSET($B$1;81*D2-80;;81;1)))

Cớ chi 2 Offset dữ dzậy?
Đúng là "ngố" thật hé!
Cứ "nhắm mắt" gõ gõ mà hổng thấy nó "dzô dziêng".
Cho mình sửa lại trong file ở bài trên như công thức của ngocmaipretty nhé. Để vậy người ta "cười" chết.
 
hì, monalisa tính uýnh pivot table, nhưng sư nương uýnh roài, monalisa xài name và công thức vậy!
Cũng phân nhóm giống sư nương hén, rồi dùng name động như xế lày nà:

Groupn =offset('q42'!$b$1;match('q42'!$f2;'q42'!$c$2:$c$1135;0);;countif('q42'!$c$2:$c$1135;'q42'!$f2);1)

sau đó công thức sẽ là max(groupn)

nếu hong xài name thì uýnh trực tiếp như zầy:
=max(offset('q42'!$b$1;match('q42'!$f2;'q42'!$c$2:$c$1135;0);;countif('q42'!$c$2:$c$1135;'q42'!$f2);1))

tên sheet dài quá, mona ghét, mona đổi tên ngắn lại nhen quý zị
chà à lâu lắm mới thấy nàng monalisa online.nếu như dữ liệu đều như trong file của tác giả thì công thức mảng này cũng đáp ứng được nè lisa ôi
=max(offset($a$2,(81*rows($a$2:$a2))-81,1,81,))
giống như dùng vòng lặp của lão sư phụ chết tiệt
TRỜI ƠI LẠI CHẬM HƠN SƯ TỶ NGỌC MAI RỒI
 
Lần chỉnh sửa cuối:
chà à lâu lắm mới thấy nàng monalisa online.nếu như dữ liệu đều như trong file của tác giả thì công thức mảng này cũng đáp ứng được nè lisa ôi
=max(offset($a$2,(81*rows($a$2:$a2))-81,1,81,))
giống như dùng vòng lặp của lão sư phụ chết tiệt
TRỜI ƠI LẠI CHẬM HƠN SƯ TỶ NGỌC MAI RỒI
Anh Thương này không đọc kỹ roài, Monalisa đã nói là hong bít ăn gian, nên phải tìm và đếm chứ bộ.
Cơ mà sao anh Thương dùng công thức mảng chi cho sầu đau rứa? Không thấy Monalisa và Bác Batê dùng công thức thường sao? (Cả sư nương nữa)

Batê đã viết:
Từ lúc vợ mất đến giờ lúc rảnh rỗi không biết làm gì, cứ vào GPE "suốt canh thâu", hì hì...
Chuyện ăn gian là do chủ topic nói rõ là cứ 81 record thì lập lại mà, theo đó mà tính thôi, hì hì nữa...
Xin chia buồn với Bác
À, mà thấy mấy bài gần đây, Bác toàn là "hic" mí lị "hic zí Cò", hôm nay sao zui zẻ hì hì hoài zậy?
 
anh thương này không đọc kỹ roài, monalisa đã nói là hong bít ăn gian, nên phải tìm và đếm chứ bộ.
Cơ mà sao anh thương dùng công thức mảng chi cho sầu đau rứa? Không thấy monalisa và bác batê dùng công thức thường sao? (cả sư nương nữa)


xin chia buồn với bác
à, mà thấy mấy bài gần đây, bác toàn là "hic" mí lị "hic zí cò", hôm nay sao zui zẻ hì hì hoài zậy?
ừa há . Công thức của mình hỏng phải công thức mảng mà .nhưng do thói quen mình mình oánh 1 phát 3 phím luôn
thanks monalisa nha
 
ừa há . Công thức của mình hỏng phải công thức mảng mà .nhưng do thói quen mình mình oánh 1 phát 3 phím luôn
thanks monalisa nha

Anh Thương ơi anh Thương à, Monalisa nghía nghía công thức của anh Thương:

=Max(offset($a$2,(81*rows($a$2:$a2))-81,1,81,))

Monalisa sửa lại 1 xíu nà, cũng gần hay bằng của anh Batê với sư nương lun nà:

=MAX(OFFSET($B$2;(D2-1)*81;;81;))
 
Lần chỉnh sửa cuối:
Hey, cám ơn sự giúp đỡ của mọi người nhé. Nhưng mình có vấn đề thế này. Với data dữ liệu trên. Như bạn Monalisa chia ra group để làm. Tất cả cá group thì sẽ giống nhau: Dữ liệu kéo dài : từ 187.25 - 195.25 và các giá trị tương ứng. Với nhiều lần lặp thì giá trị sẽ khác nhau. và mình muốn có được giá trị MAX tuơng ứng từ 187.25-195.25.

Ví dụ:
Gia trị 1 gia tri MAx
187.25 50.5
187.35 49.6
........
195.25 51.6


Nó sẽ lặp lại cho các group còn lại. Tuy nhiên tương ứng với giá trị khác. Mình mong muốn lấy được giá trị Max củu nhiều lần lặp lại. Ví dụ 187.25 giá trị nó lặp lại nhiều lần. Mình lọc và kết quả là giá trị Max trong tất cả các giá trị được lặp lại. Tương tự như vậy cho các giá trị 187.35; 187.45......195.25 lần được là giá trị MAx. Mọi người giúp mình nhé. Bằng hàm Excel mình đã làm được nhưng rất dễ bị rối và mất dữ liệu nếu k tập trung. Giải pháp mình muốn là khi đưa file dữ liệu này thì kết quả mình nhận được là giá trị MAX tương ứng từ 187.25.....195.25. Do đó mình muốn dùng VB.

Cảm ơn mọi người.
 
Lần chỉnh sửa cuối:
Túm lại là 81 group, mỗi group 14 dòng, chứ không phải 14 group, mỗi group 81 dòng chứ gì?
Cũng Pivot table luôn, khỏi VBA:
Cột group dùng công thức:
C2 =MOD((ROW(A1)-1);81)+1

Pivot table: Field Level setting = Max, Field abc show Top 1
 

File đính kèm

  • PivotNgocmai02.rar
    24.2 KB · Đọc: 9
Sư nương lúc nào cũng đúng, chả cần VBA. Mà sư nương lúc nào cũng quýnh Pivot nhanh wá chời.
Không thấy Bác Batê mí anh Thương đâu hết á? Mona làm công thức lại, cũng 1 name, và 1 công thức
GroupN =IF('Q42'!$A$2:$A$1135='Q42'!$D2;'Q42'!$B$2:$B$1135;-1000)
E2 =MAX(GroupN) Enter
hoặc E2 =MAX(IF($A$2:$A$1135=$D2;$B$2:$B$1135;-1000)) Ctrl Shift Enter
 

File đính kèm

  • MaxGroupMonalisa2.rar
    14.9 KB · Đọc: 8
Túm lại là 81 group, mỗi group 14 dòng, chứ không phải 14 group, mỗi group 81 dòng chứ gì?
Cũng Pivot table luôn, khỏi VBA:
Cột group dùng công thức:
C2 =MOD((ROW(A1)-1);81)+1

Pivot table: Field Level setting = Max, Field abc show Top 1
Không cần cột Group cũng Pivot được Ngocmai muội à. Chính cột abc của muội dùng làm group được rồi còn gì.
dqcuong88.vtct đã viết:
Cái này làm có khó không với Macro vậy? Nếu có ai biết làm cái này bằng VB help mình với. Cảm ơn các bạn.
Có VBA của bác Bate ở trên rồi đó.
Nhưng Pivot table của ngocmai và công thức của Monalisa không xài được sao? Có vấn đề gì? Công thức không biết làm, thì bây giờ có ai viết code VBA cho cũng chỉ ngó thôi.
 

File đính kèm

  • PivotPtm.rar
    25.2 KB · Đọc: 8
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom