Tạo cột dãy số tăng dần từ 2 hay nhiều dãy số (1 người xem)

Liên hệ QC

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

Hidden2562

Thành viên mới
Tham gia
18/3/20
Bài viết
22
Được thích
6
Mình đang có nhiều dãy số từ A ->B, hiện tại mình cần lôi chi tiết từng số ra và sắp xếp theo hàng dọc, có công thức hay cách nào để mình làm nhanh hơn không ạ vì data của mình rất nhiều, nếu làm tay thì không nỗi :(.

Dãy số của mình có lúc liên tục và có lúc không liên tục ạ, không cố định.

VD:
Mình có 2 dãy số: 1 -> 3, 8 -> 12
Kết quả mong muốn:
1
2
3
8
9
10
11
12

Cảm ơn các bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Tiêu đề nên là:
"Tạo cột dẫy số tăng (hay giảm) dần từ 2 hay nhiều dẫy (số)
em xin lỗi ạ, lâu lâu mới đăng bài mong anh thông cảm
Bạn sửa lại tiêu đề & sẽ nhanh chóng hơn để nhận được kết quả trợ giúp!
 

File đính kèm

  • 610.jpg
    610.jpg
    67.4 KB · Đọc: 2
Lần chỉnh sửa cuối:
Mình đang có nhiều dãy số từ A ->B, hiện tại mình cần lôi chi tiết từng số ra và sắp xếp theo hàng dọc, có công thức hay cách nào để mình làm nhanh hơn không ạ vì data của mình rất nhiều, nếu làm tay thì không nỗi :(.
VD:
Mình có 2 dãy số: 1 -> 3, 8 -> 12
Kết quả mong muốn:
1
2
3
8
9
10
11
12

Cảm ơn các bạn.
Thứ nhất bạn nên sửa lại tiêu đề bài viết cho đúng với nội quy của diễn đàn
1623202287391.png
Thứ 2 dãy số của bạn có liên tục không hay kiểu 5-10, 15-16, 23-34
Bài đã được tự động gộp:

em xin lỗi ạ, lâu lâu mới đăng bài mong anh thông cảm :(
Bạn vào nút này là sửa được mà 1623202490713.png
 
Thứ nhất bạn nên sửa lại tiêu đề bài viết cho đúng với nội quy của diễn đàn
View attachment 260279
Thứ 2 dãy số của bạn có liên tục không hay kiểu 5-10, 15-16, 23-34
Bài đã được tự động gộp:


Bạn vào nút này là sửa được mà View attachment 260280
mình đã sử tiêu đề rồi ạ.

dãy số của mình có lúc liên tục và có lúc không liên tục ạ, không cố định. :)
 
dãy số của mình có lúc liên tục và có lúc không liên tục ạ, không cố định
Tạm thời thế này, chờ xem ai có cách hay hơn không
Mã:
H2=IF(AND(H1>=SMALL($C$3:$C$5;IFERROR(MATCH(H1;$D$2:$D$5);1));H1<SMALL($D$3:$D$5;IFERROR(MATCH(H1;$D$2:$D$5);1)));H1+1;SMALL($C$3:$C$5;IFERROR(MATCH(H1;$D$2:$D$5);1)))
 
mình bấm nó không ra kết quả :(
Bấm kiểu gì vậy không ra kết quả thì nó ra cái gì phải nói mới biết chứ
Bài đã được tự động gộp:

Hoặc không nghịch kiểu mảng thế này (tiếp tục học hàm MMULT bạn @Phan Thế Hiệp dạy)
Mã:
=IFERROR(AGGREGATE(15;6;ROW($A$1:$A$100)/MMULT((ROW($A$1:$A$100)>=SMALL($C$3:$C$5;{1\2\3}))*(ROW($A$1:$A$100)<=SMALL($D$3:$D$5;{1\2\3}));{1;1;1});ROW(A1));"")
 

File đính kèm

Lần chỉnh sửa cuối:
Bấm kiểu gì vậy không ra kết quả thì nó ra cái gì phải nói mới biết chứ
Bài đã được tự động gộp:

Hoặc không nghịch kiểu mảng thế này (tiếp tục học hàm MMULT bạn @Phan Thế Hiệp dạy)
Mã:
=IFERROR(AGGREGATE(15;6;ROW($A$1:$A$100)/MMULT((ROW($A$1:$A$100)>=SMALL($C$3:$C$5;{1\2\3}))*(ROW($A$1:$A$100)<=SMALL($D$3:$D$5;{1\2\3}));{1;1;1});ROW(A1));"")
hình như dãy số không theo thứ tự bé -> lớn thì không dùng được công thức của bạn được phải không ạ
VD:
Dãy số:
7 -> 15
2 -> 5
18 -> 20
 

File đính kèm

Khoảng 16000 dòng
Mã:
=IFERROR(AGGREGATE(15,6,COLUMN($A:$XAA)/(COLUMN($A:$XAA)>=$C$3:$C$5)/(COLUMN($A:$XAA)<=$D$3:$D$5),ROWS($1:1)),"")
Hix, mình có dãy seri này nhưng sao công thức nó chạy vậy ạ :(, 1 file data của mình gồm nhiều dãy seri giống như vậy ấy :)
Thanks anh.
 

File đính kèm

Hix, mình có dãy seri này nhưng sao công thức nó chạy vậy ạ :(, 1 file data của mình gồm nhiều dãy seri giống như vậy ấy :)
Thanks anh.
Chỉ xét 4 số cuối vì giới hạn bởi khoảng 16000 dòng
Mã:
=IFERROR(LEFT($C$3,7)&AGGREGATE(15,6,COLUMN($A:$XAA)/(COLUMN($A:$XAA)>=--RIGHT($C$3:$C$5,4))/(COLUMN($A:$XAA)<=--RIGHT($D$3:$D$5,4)),ROWS($1:1)),"")
 
Chỉ xét 4 số cuối vì giới hạn bởi khoảng 16000 dòng
Mã:
=IFERROR(LEFT($C$3,7)&AGGREGATE(15,6,COLUMN($A:$XAA)/(COLUMN($A:$XAA)>=--RIGHT($C$3:$C$5,4))/(COLUMN($A:$XAA)<=--RIGHT($D$3:$D$5,4)),ROWS($1:1)),"")
không lấy hết toàn bộ số được hả anh, nhiều khi có dãy seri đầu số 20, 21, 22,.... á. Có cách nào khác không ạ
Thanks anh
 
không lấy hết toàn bộ số được hả anh, nhiều khi có dãy seri đầu số 20, 21, 22,.... á. Có cách nào khác không ạ
Sao bạn không đưa hẳn dãy số thật của bạn lên đi, bao nhiêu dãy, bao nhiêu trường hợp. Cứ đoạn một thế này người sửa oải lắm
 
Sao bạn không đưa hẳn dãy số thật của bạn lên đi, bao nhiêu dãy, bao nhiêu trường hợp. Cứ đoạn một thế này người sửa oải lắm
Hi, mình xin lỗi, cho mình gửi lại file nhé
Chỉ xét 4 số cuối vì giới hạn bởi khoảng 16000 dòng
Mã:
=IFERROR(LEFT($C$3,7)&AGGREGATE(15,6,COLUMN($A:$XAA)/(COLUMN($A:$XAA)>=--RIGHT($C$3:$C$5,4))/(COLUMN($A:$XAA)<=--RIGHT($D$3:$D$5,4)),ROWS($1:1)),"")
 

File đính kèm

Cái này của bạn tính ra là gần 73.000 dòng đấy, số lớn nhất và nhỏ nhất chênh nhau gần 4 triệu dòng. Các cách trên đều phá sản vì vượt quá giới hạn dòng và cột trong excel rồi
đâu có, nếu mình kéo hết là khoảng 73.000 dòng thôi ạ. Em chỉ muốn lấy chi tiết theo thứ tự từ Seri này đến Seri này thôi, chứ không phải liên tục từ số Seri nhỏ nhất tới lớn nhất ạ.
 
đâu có, nếu mình kéo hết là khoảng 73.000 dòng thôi ạ. Em chỉ muốn lấy chi tiết theo thứ tự từ Seri này đến Seri này thôi, chứ không phải liên tục từ số Seri nhỏ nhất tới lớn nhất ạ.
Hai cái mã này đang lồng vào nhau này
1623227039661.png
nếu không có trường hợp này bạn có thể sắp xếp lại cột "Đến Seri" từ nhỏ đến lớn xong dùng cái công thức đầu tiên của mình ấy
 
Hi, mình xin lỗi, cho mình gửi lại file nhé
Các con số quá lớn vượt quá 4 số, phải xếp thứ tự theo cột C
Mã:
F2 =C3
Mã:
F3 =IF(IFERROR(MATCH(F1,$D$3:$D$523),0)=IFERROR(MATCH(F2,$D$3:$D$23),0),F2+1,INDEX($C$3:$C$23,IFERROR(MATCH(F2,$D$3:$D$23),0)+1))
Copy F3 xuống đến khi lỗi dừng lại
 

File đính kèm

Lần chỉnh sửa cuối:
Hi, mình xin lỗi, cho mình gửi lại file nhé
Dùng công thức này ở M2 bấm ctrl+shift+enter kéo đến khi nào lỗi thì dừng, công thức này không cần sort , cho phép các số seri lồng nhau:
Mã:
=IF(OR((M1>=$C$3:$C$23)*($D$3:$D$23>M1)),M1+1,1/(1/MIN(IF($C$3:$C$23>M1,$C$3:$C$23))))
 
Dùng công thức này ở M2 bấm ctrl+shift+enter kéo đến khi nào lỗi thì dừng, công thức này không cần sort , cho phép các số seri lồng nhau:
Mã:
=IF(OR((M1>=$C$3:$C$23)*($D$3:$D$23>M1)),M1+1,1/(1/MIN(IF($C$3:$C$23>M1,$C$3:$C$23))))
Công thức hay quá, nhưng gặp dữ liệu chồng lấn nên tính dư khá nhiều :p

1623279520911.png
 

File đính kèm

Lần chỉnh sửa cuối:
Công thức hay quá, nhưng gặp dữ liệu chồng lấn nên tính dư khá nhiều :p

View attachment 260353
Với số seri trên thì tổng số phải là 72.556 (đã loại trùng), tôi chạy bằng power query đã loại trùng cũng là số đó, do seri bị chồng nên công thức của bạn nó bị tính thiếu , bạn xem hình số 2 là những số công thức bạn chạy thiếu nó thuộc seri từ 22001433001->220014531801623282509850.png1623282483139.png
 

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

Back
Top Bottom