Cần giúp hàm đảo dữ liệu

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

lala_qn

Thành viên tiêu biểu
Tham gia
2/5/09
Bài viết
598
Được thích
17
Nghề nghiệp
chưa ổn định
trong file vd e muốn có tất cả các kết quả đảo dữ liệu từ dữ liệu cho sẵn thì làm thế nào ạ !
trong file vd dữ liệu chỉ là minh họa thự tế dữ liệu rất nhiều loại ạ !
nhờ a/c giúp dùm e !
thanks !!!
 

File đính kèm

Lần chỉnh sửa cuối:
Quy luật đảo là như thế nào?
Ví dụ của bạn không nói rõ, việc đảo này đối với 3 giá trị thì có 3! (3 giai thừa) kết quả, nếu nó có n giá trị thì có n! kết quả.
Bạn muốn như thế nào?
 
Quy luật đảo là như thế nào?
Ví dụ của bạn không nói rõ, việc đảo này đối với 3 giá trị thì có 3! (3 giai thừa) kết quả, nếu nó có n giá trị thì có n! kết quả.
Bạn muốn như thế nào?
e muốn có tất cả các kết quả đảo, sao cho mỗi kết quả đảo ko trùng nhau a nhé, thanks a!

Công thức ="sp"&RANDBETWEEN(1;3)
hàm nay ko biết dùng thế nào a, e nhập vào nó ko có kết quả a, thanks a
 
hàm nay ko biết dùng thế nào a, e nhập vào nó ko có kết quả a, thanks a
Bạn dùng excel 2003 ah? Vậy thì trước khi dùng hàm RANDBETWEEN hãy vào Tool/Add in/đánh dấu vào Analysis ToolPak và Analysis ToolPak - VBA/OK để cài thêm.
 
e mới up lại vd cho cụ thể hơn tí nhờ a/c giúp dùm ạ
có thể tạo để sd dễ hơn ko a/c
thanks!
 
e mới up lại vd cho cụ thể hơn tí nhờ a/c giúp dùm ạ
có thể tạo để sd dễ hơn ko a/c
thanks!

Tôi thấy nguyên tắc đảo bạn đưa trong bài có phần lủng củng sao ấy
Tôi đề nghị nguyên tắc này: sp1, sp2, sp3 rồi tới sp2, sp3, sp1 rồi tới sp3, sp1, sp2... và trở lại từ đầu
Bạn thấy sao?
Nếu đồng ý thì tôi có công thức này:
Mã:
=INDEX($A$2:$A$4,MOD(ROWS($1:1)-MOD(INT((3-ROWS($1:1))/3)-2,3),3)+1)
Và:
Mã:
=INDEX($D$2:$D$4,MOD(ROWS($1:1)-MOD(INT((3-ROWS($1:1))/3)-2,3),3)+1)
 
Tôi thấy nguyên tắc đảo bạn đưa trong bài có phần lủng củng sao ấy
Tôi đề nghị nguyên tắc này: sp1, sp2, sp3 rồi tới sp2, sp3, sp1 rồi tới sp3, sp1, sp2... và trở lại từ đầu
Bạn thấy sao?
Nếu đồng ý thì tôi có công thức này:
Mã:
=INDEX($A$2:$A$4,MOD(ROWS($1:1)-MOD(INT((3-ROWS($1:1))/3)-2,3),3)+1)
Và:
Mã:
=INDEX($D$2:$D$4,MOD(ROWS($1:1)-MOD(INT((3-ROWS($1:1))/3)-2,3),3)+1)
hàm của a chạy đc và ra kết quả đúng, nhưng nếu kéo tiếp nó vẫn ra kết quả ko dừng anh
trên đó là vd chỉ 3 dữ liệu, trên thực tế dữ liệu rất nhiều, nên ko biết đâu dừng lại anh
với lại nếu dữ liệu nhiều hơn e ko biết chỉnh hàm của a thế nào, hic
 
hàm của a chạy đc và ra kết quả đúng, nhưng nếu kéo tiếp nó vẫn ra kết quả ko dừng anh
trên đó là vd chỉ 3 dữ liệu, trên thực tế dữ liệu rất nhiều, nên ko biết đâu dừng lại anh
với lại nếu dữ liệu nhiều hơn e ko biết chỉnh hàm của a thế nào, hic

File của bạn như vậy thì tôi làm như vậy, không đúng sao?
Bạn muốn khác hơn thì đưa file khác, vậy thôi
 
e gởi thêm file vd2 nhờ a tạo lại hàm dùm e,
vd này có 14 dữ liệu, mình có thể tạo mỗi lần đảo ra xong 14 dữ liệu thì nó tạo ra 1 khoảng cách để tránh nhìn nhầm đc ko a
thanks a !
 

File đính kèm

e gởi thêm file vd2 nhờ a tạo lại hàm dùm e,
vd này có 14 dữ liệu, mình có thể tạo mỗi lần đảo ra xong 14 dữ liệu thì nó tạo ra 1 khoảng cách để tránh nhìn nhầm đc ko a
thanks a !

Thử vầy:
Mã:
=IF(MOD(COUNTA($B$1:$B1),COUNTA([COLOR=#ff0000]$A$2:$A$15[/COLOR])+1)=0,"",INDEX([COLOR=#ff0000]$A$2:$A$15[/COLOR],MOD(COUNT($B$1:$B1)+1-MOD(INT((COUNTA([COLOR=#ff0000]$A$2:$A$15[/COLOR])-COUNT($B$1:$B1)-1)/COUNTA([COLOR=#ff0000]$A$2:$A$15[/COLOR]))-COUNTA([COLOR=#ff0000]$A$2:$A$15[/COLOR])+1,COUNTA([COLOR=#ff0000]$A$2:$A$15[/COLOR])),COUNTA([COLOR=#ff0000]$A$2:$A$15[/COLOR]))+1))
Lưu ý:
- Chỗ màu đỏ là dữ liệu đầu vào, bạn hãy thay đổi cho phù hợp. Có thể đặt name cho dữ liệu để dễ quản lý
- Công thức chỉ áp dụng cho dữ liệu kiểu số
- Cell đầu tiên mà bạn đặt công thức phải từ dòng 2 trở xuống (không được đặt tại dòng 1) và phía trên nó phải có dữ liệu dạng chuỗi (là tiêu đề gì đó chẳng hạn)
-----------------
Nếu bạn thấy "ngán" với độ phức tạp của công thức thì có thể dùng VBA
 
Lần chỉnh sửa cuối:
trong vd2 e dùng hàm a ko biết có sai gì ko mà thấy ra kết quả ko ổn lắm a
e có up vd3 khác so với vd2 tí, ko biết dùng VBA có khó ko, nhờ a hướng dẫn dùm e
thanks a!!!
 

File đính kèm

trong vd2 e dùng hàm a ko biết có sai gì ko mà thấy ra kết quả ko ổn lắm a
Cụ thể là KHÔNG ỔN chỗ nào?
e có up vd3 khác so với vd2 tí, ko biết dùng VBA có khó ko, nhờ a hướng dẫn dùm e
thanks a!!!

Chẳng phải ở trên tôi đã nói:
- Công thức chỉ áp dụng cho dữ liệu kiểu số
Trong khi cột E của bạn là kiểu chuỗi
Vậy thì phải sửa lại một chút:
- Đầu tiên xóa cell E1 rồi gõ công thức này vào E2
Mã:
=IF(MOD(COUNTA($E$1:$E1)+1,COUNTA($D$2:$D$15)+1)=0,"",INDEX($D$2:$D$15,MOD(COUNTIF($E$1:$E1,">""")+1-MOD(INT((COUNTA($D$2:$D$15)-COUNTIF($E$1:$E1,">""")-1)/COUNTA($D$2:$D$15))-COUNTA($D$2:$D$15)+1,COUNTA($D$2:$D$15)),COUNTA($D$2:$D$15))+1))
-----------------------------------------------
Lưu ý: Dữ liệu của bạn thế nào thì nên đưa file lên thế nấy, cứ nay vầy mai khác, mất công người khác quá
 
Lần chỉnh sửa cuối:
Cụ thể là KHÔNG ỔN chỗ nào?


Chẳng phải ở trên tôi đã nói:

Trong khi cột E của bạn là kiểu chuỗi
Vậy thì phải sửa lại một chút:
- Đầu tiên xóa cell E1 rồi gõ công thức này vào E2
Mã:
=IF(MOD(COUNTA($E$1:$E1)+1,COUNTA($D$2:$D$15)+1)=0,"",INDEX($D$2:$D$15,MOD(COUNTIF($E$1:$E1,">""")+1-MOD(INT((COUNTA($D$2:$D$15)-COUNTIF($E$1:$E1,">""")-1)/COUNTA($D$2:$D$15))-COUNTA($D$2:$D$15)+1,COUNTA($D$2:$D$15)),COUNTA($D$2:$D$15))+1))

Hàm này ok rùi a, thanks a nhiều !!!
e hỏi thêm tí, lúc này cột D đang có từng đoạn kết quả, mỗi kết quả có nhiều cell, giúp dùm e hàm gom mỗi đoạn kết quả thành 1 cell tại cột F, thanks a !
 
Web KT

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

Back
Top Bottom