hàm tự đổi đầu số

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
em muốn lập hàm đổi đầu số kiểu thế này nhờ anh chị giúp đỡ
dạng 1
932000000
932010101
932020202
932030303
.............
939999999


dạng 2
932100100
932101101
932102102
932103103
.............
932999999

dạng 4
932100001
932111111
932122221
.........
932199991
932200002
932211112
...........
939999999

Nhờ anh chị lập dùm em 4 hàm này , thanks
 
/-(àm thì fải có đầu vô & đầu ra, còn của bạn thì hình như chỉ có đầu ra

Bạn muốn hàm trả về các số như vậy fải không? Vậy hàm nhận tham số ban đầu là gì vậy?

(ó ai là fiên dịch giúp xem, bạn í muốn gì?!
 
em muốn lập hàm đổi đầu số kiểu thế này nhờ anh chị giúp đỡ
dạng 1
932000000
932010101
932020202
932030303
.............
939999999


dạng 2
932100100
932101101
932102102
932103103
.............
932999999

dạng 4
932100001
932111111
932122221
.........
932199991
932200002
932211112
...........
939999999

Nhờ anh chị lập dùm em 4 hàm này , thanks
Không có ý chê trách bạn đâu, nhưng bạn hỏi thì phải để cho người ta hiểu bạn hỏi cái gì. Đọc bài của bạn chẳng hiểu gì cả.
 
Thay vì gõ số bằng tay từ 093200000,0932010101,0932020202 cho đến 093999999 em muốn lập hàm để fill cho nhanh
va đây là các kiểu số em cần lập hàm

dạng thứ 1
932000000
932010101
932020202
932030303
.............
939999999
dạng này 093Xababab tức là 3 cặp số ab chạy từ 00 cho tới 99 , khi đến 99 thì X sẽ cộng thêm 1 và 3 cặp số ab bắt đầu chạy lại từ 00 cho tới 99 cứ như vậy chạy cho tới 939999999

dạng thứ 2
932100100
932101101
932102102
932103103
.............
939999999
dạng này kiểu số thì khác nhưng cách chạy cũng tương tự , kiểu số 093Xabcabc tức là 2 cặp số abc chạy từ 000 cho tới 999 , khi đến 999 thì X sẽ cộng thêm 1 và 2 cặp số abc bắt đầu chạy lại từ 000 cho tới 999 cứ như vậy chạy cho tới 939999999

dạng thứ 4
932100001
932111111
932122221
.........
932199991
932200002
932211112
...........
939999999
dạng này 93Xabbbba thì bbbb bắt đầu từ 0000 chạy đến 9999 thì a cộng thêm 1 sau đó bbbb trở về 0000 chạy đên 9999 cho tất cả chạy cho đến 939999999

Nhờ anh chị lập dùm em 4 dạng hàm này , thanks
 
Em mạo muội giải quyết bài này bằng công thức. Cụ thể:
- Lặp ab: số ban đầu ở ô "B2"
Mã:
=IF(B2="";"";IF(RIGHT(B2;7)*1=9999999;"";LEFT(B2;3)&IF(AND(MID(B2;5;1)*1=9;MID(B2;6;1)*1=9);MID(B2;4;1)+1;MID(B2;4;1))&REPT(IF(MID(B2;6;1)*1=9;RIGHT(MID(B2;5;1)+1;1);MID(B2;5;1))&IF(MID(B2;6;1)*1=9;0;MID(B2;6;1)+1);3)))



- Lặp abc: số ban đầu ở ô "D2"
Mã:
=IF(D2="";"";IF(RIGHT(D2;7)*1=9999999;"";LEFT(D2;3)&IF(AND(MID(D2;5;1)*1=9;MID(D2;6;1)*1=9;MID(D2;7;1)*1=9);MID(D2;4;1)+1;MID(D2;4;1))&REPT(IF(AND(MID(D2;6;1)*1=9;MID(D2;7;1)*1=9);RIGHT(MID(D2;5;1)+1;1);MID(D2;5;1))&IF(MID(D2;7;1)*1=9;RIGHT(MID(D2;6;1)+1;1);MID(D2;6;1))&IF(MID(D2;7;1)*1=9;0;MID(D2;7;1)+1);2)))



- Lặp abbbba: số ban đầu ở ô "F2"
Mã:
=IF(F2="";"";IF(RIGHT(F2;7)*1=9999999;"";LEFT(F2;3)&IF(AND(MID(F2;5;1)*1=9;MID(F2;6;1)*1=9);MID(F2;4;1)+1;MID(F2;4;1))&IF(MID(F2;6;1)*1=9;RIGHT(MID(F2;5;1)+1;1);MID(F2;5;1))&REPT(IF(MID(F2;6;1)*1=9;0;MID(F2;6;1)+1);4)&IF(MID(F2;6;1)*1=9;RIGHT(MID(F2;5;1)+1;1);MID(F2;5;1))))


Có File đính kèm (ô sao không tải được File nhỉ????).
Nhờ các bác chỉnh sửa giúp
 
Lần chỉnh sửa cuối:
Công thức ngắn hơn một chút:
- Lặp ab: số ban đầu ở ô "B2"
=IF(B19="";"";IF(RIGHT(B19;7)*1=9999999;"";LEFT(B19;3)&IF(MID(B19;5;2)*1=99;MID(B19;4;1)+1&"000000";MID(B19;4;1)&REPT(TEXT(MID(B19;5;2)+1;"00");3))))



- Lặp abc: số ban đầu ở ô "D2"
=IF(D2="";"";IF(RIGHT(D2;7)*1=9999999;"";LEFT(D2;3)&IF(MID(D2;5;3)*1=999;MID(D2;4;1)+1&"000000";MID(D2;4;1)&REPT(TEXT(MID(D2;5;3)+1;"000");2))))
 
Công thức ngắn hơn một chút:
- Lặp ab: số ban đầu ở ô "B2"
- Lặp abc: số ban đầu ở ô "D2"

thử phương án mới, giản đơn sau

- Tại A2, B2, C2 nhập cùng 1 giá trị là 93000000 (nếu đầu số khác thì thay đổi)

- tiếp theo lần lượt tại A3,B3,C3 nhập các công thức sau:
PHP:
=IF(OR(A2="",A2=A$2+999999),"",A2+1+(MOD(A2,10^6)<>999999)*10100)
PHP:
=IF(OR(B2="",B2=B$2+999999),"",B2+1+(MOD(B2,10^6)<>999999)*1000)
PHP:
=IF(OR(C2="",C2=C$2+999999),"",C2+11+(MOD(INT(C2/10),10^4)<>9999)*11099)

- copy fill dài xuống cho các dòng tiếp theo công thức, đến khi gặp khoảng trắng là hết số

3 cột trên tương ứng cho 3 cách tạo số - người hỏi đặt ra
 
thử phương án mới, giản đơn sau

- Tại A2, B2, C2 nhập cùng 1 giá trị là 93000000 (nếu đầu số khác thì thay đổi)

- tiếp theo lần lượt tại A3,B3,C3 nhập các công thức sau:
PHP:
=IF(OR(A2="",A2=A$2+999999),"",A2+1+(MOD(A2,10^6)<>999999)*10100)
PHP:
=IF(OR(B2="",B2=B$2+999999),"",B2+1+(MOD(B2,10^6)<>999999)*1000)
PHP:
=IF(OR(C2="",C2=C$2+999999),"",C2+11+(MOD(INT(C2/10),10^4)<>9999)*11099)

- copy fill dài xuống cho các dòng tiếp theo công thức, đến khi gặp khoảng trắng là hết số

3 cột trên tương ứng cho 3 cách tạo số - người hỏi đặt ra
Công thức của bạn rất hay. Tuy nhiên, theo tôi công thức thứ 3 cần thay đổi chút xíu như sau:
Mã:
=IF(OR(C2="",C2=C$2+999999[COLOR=#ff0000]9[/COLOR]),"",C2+[COLOR=#ff0000]1+(MOD(C2;10^6)<>999999)*10[/COLOR]+(MOD(INT(C2/10),10^4)<>9999)*11099)
Các công thức còn lại thì thêm 1 số 9 vào phần đầu. Cụ thể:
Mã:
=IF(OR(A2="",A2=A$2+999999[COLOR=#ff0000]9[/COLOR])....
 và
=IF(OR(B2="",B2=B$2+999999[COLOR=#FF0000]9[/COLOR])....
 
Lần chỉnh sửa cuối:
thử phương án mới, giản đơn sau

- Tại A2, B2, C2 nhập cùng 1 giá trị là 93000000 (nếu đầu số khác thì thay đổi)

- tiếp theo lần lượt tại A3,B3,C3 nhập các công thức sau:
PHP Code:
=IF(OR(A2="",A2=A$2+999999),"",A2+1+(MOD(A2,10^6)<>999999)*10100)

PHP Code:
=IF(OR(B2="",B2=B$2+999999),"",B2+1+(MOD(B2,10^6)<>999999)*1000)

PHP Code:
=IF(OR(C2="",C2=C$2+999999),"",C2+11+(MOD(INT(C2/10),10^4)<>9999)*11099)

- copy fill dài xuống cho các dòng tiếp theo công thức, đến khi gặp khoảng trắng là hết số

3 cột trên tương ứng cho 3 cách tạo số - người hỏi đặt ra
bài viết của anh quá chuẩn , cảm ơn anh vodoi2x nhiều , cảm ơn anh chị đã nhiệt tình giúp đỡ !
 
bác minhlev sửa công thức mới cũng rất hay nhưng công thức này bác sữa bị lỗi gì ko fill đc bác ơi , xem lại dùm em nhé


=IF(OR(C2="",C2=C$2+9999999),"",C2+1+(MOD(C2;10^6)<>999999)*10+(MOD(INT(C2/10),10^4)<>9999)*11099)

 
bác minhlev sửa công thức mới cũng rất hay nhưng công thức này bác sữa bị lỗi gì ko fill đc bác ơi , xem lại dùm em nhé




Nếu bạn muốn biến đổi X từ 1-9 nữa, thì thay đổi công thức như sau, cho

- Tại A2, B2, C2 nhập cùng 1 giá trị là 931000000 (nếu đầu số khác thì thay đổi số này)

- tiếp theo lần lượt tại A3,B3,C3 nhập các 3 công thức sau:

PHP:
=IF(OR(A2="",A2=A$2+8999999),"",A2+1+(MOD(A2,10^6)<>999999)*10100)
=IF(OR(B2="",B2=B$2+8999999),"",B2+1+(MOD(B2,10^6)<>999999)*1000)
=IF(OR(C2="",C2=C$2+8999999),"",C2+1+10*(MOD(C2,10^6)<>999999) +(MOD(INT(C2/10),10^4)<>9999)*11099)

- copy fill dài xuống cho các dòng tiếp theo công thức, đến khi gặp khoảng trắng là hết số

3 cột trên tương ứng cho 3 cách tạo số - như đã hỏi

Chú ý độ dài các cột khác nhau , kéo copy đến bao giờ đến giá trị =""
 
Lần chỉnh sửa cuối:
=IF(OR(A2="",A2=A$2+8999999),"",A2+1+(MOD(A2,10^6)<>999999)*10100)
=IF(OR(
B2="",B2=B$2+8999999),"",B2+1+(MOD(B2,10^6)<>999999)*1000)
=IF(OR(
C2="",C2=C$2+8999999),"",C2+1+10*(MOD(C2,10^6)<>999999) +(MOD(INT(C2/10),10^4)<>9999)*11099)
đã chuẩn rùi thanks anh !
 
bác minhlev sửa công thức mới cũng rất hay nhưng công thức này bác sữa bị lỗi gì ko fill đc bác ơi , xem lại dùm em nhé



Lỗi trong công thức của mình là cái dấu ";". Bạn thay bằng dấu "," thì sẽ hết.
Điều quan trọng trong bài của bạn là quy luật số mà vodoi2x đã tìm ra.
 
Trong dãy số 902123456
em muốn cố định 1 hay nhiều số trong dãy số , còn các số còn lại cứ tiến lần 1 nút cho tới bằng 9 thì số sau tiến 1 nút , cứ như vậy chạy liên tục có tới khi các số chạy đều bằng 9
vd ( số màu đỏ cố định số màu đen chạy )
902123456
902124456
....
909199456

vd
90
2660188
902660288
........
9096699
88

Trong các vd trên sẽ có nhiều trường hợp số cố định sẽ cố định ở các vị trí khác nhau và số chạy sẽ ở các vị trí khác nhau nhưng các số chạy đều có quy luật chạy tới khi bằng 9
vì vị trí cố định tùy chọn nên nhờ anh chị lập hàm dùm em cho tiện lợi nhất để làm cho nhanh đỡ fai lập hàm nhiều lần

Thanks !


 
=90&(2+INT((ROWS($1:1)-1)/100))&66&TEXT(MOD((ROWS($1:1)-1),100),"00")&88
đã làm đc rồi anh , thanks anh !

còn dạng này vẫn là số màu đỏ cố định số màu đen chạy
902112110
902112112
....
909112119

em sữa hàm thành thế này ko hiểu sai chổ nào mà nó chỉ chạy số cuối cùng tới 9 còn số 2 nó ko chạy anh
=90&(2+INT((ROWS($1:1)-1)/100000))&11211&TEXT(MOD((ROWS($1:1)-1),10),"0")

nhờ anh giúp dùm , thanks anh !

 
Trong dãy số 902123456
em muốn cố định 1 hay nhiều số trong dãy số , còn các số còn lại cứ tiến lần 1 nút cho tới bằng 9 thì số sau tiến 1 nút , cứ như vậy chạy liên tục có tới khi các số chạy đều bằng 9
vd ( số màu đỏ cố định số màu đen chạy )
902123456
902124456
....
909199456

vd
90
2660188
902660288
........
9096699
88

Trong các vd trên sẽ có nhiều trường hợp số cố định sẽ cố định ở các vị trí khác nhau và số chạy sẽ ở các vị trí khác nhau nhưng các số chạy đều có quy luật chạy tới khi bằng 9
vì vị trí cố định tùy chọn nên nhờ anh chị lập hàm dùm em cho tiện lợi nhất để làm cho nhanh đỡ fai lập hàm nhiều lần

Thanks !



Số chạy có quy luật thì cứ việc gõ 2 số vào 2 cell, xong quét chọn 2 cell, kéo fill xuống là xong ---> Khỏi công thức gì ráo!
 
Số chạy có quy luật thì cứ việc gõ 2 số vào 2 cell, xong quét chọn 2 cell, kéo fill xuống là xong ---> Khỏi công thức gì ráo!
nó chỉ đổi vị trí gần kề chứ số ở 1 vị trí khác cần đổi tiếp thì nó ko nhảy anh

=90&(2+INT((ROWS($1:1)-1)/100))&66&TEXT(MOD((ROWS($1:1)-1),100),"00")&88

đã làm đc rồi anh , thanks anh !

còn dạng này vẫn là số màu đỏ cố định số màu đen chạy
902112110
902112112
....
909112119

em sữa hàm thành thế này ko hiểu sai chổ nào mà nó chỉ chạy số cuối cùng tới 9 còn số 2 nó ko chạy anh
=90&(2+INT((ROWS($1:1)-1)/100000))&11211&TEXT(MOD((ROWS($1:1)-1),10),"0")

nhờ anh giúp dùm , thanks anh !
 
902112110
902112112
....
909112119

em sữa hàm thành thế này ko hiểu sai chổ nào mà nó chỉ chạy số cuối cùng tới 9 còn số 2 nó ko chạy anh
=90&(2+INT((ROWS($1:1)-1)/100000))&11211&TEXT(MOD((ROWS($1:1)-1),10),"0")

nhờ anh giúp dùm , thanks anh !
Bạn chỉnh lại như sau
=90&(2+INT((ROWS($1:1)-1)/10))&11211&MOD((ROWS($1:1)-1),10)
 
Web KT

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

Back
Top Bottom