Tăng dần 1 ký tự ở giữa (1 người xem)

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

finaldot

Thành viên mới
Tham gia
24/12/12
Bài viết
4
Được thích
0
Untitled.jpg

có cách nào cho số kia tăng dần mà không phải nhập thủ công ????
các bạn giúp mình với
 
Lần chỉnh sửa cuối:
Bạn thử công thức này xem
A2="000"&MID(A1;IF(LEN(A1)=6;1;IF(LEN(A1)=7;2;3));4)+1&"/4"
Copy cho toàn bộ các ô dưới của cột A
Làm như bạn thì nó sẽ bị là 00010/4, 000100/4,...
Mà kyo nghĩ thì dụng ý của chủ topic muốn là 0010/4, 0100/4,... nên kyo đề nghị công thức này (tất nhiên maximum là 9999).
=IF(--LEFT(A1,4)<9,"000"&LEFT(A1,4)+1,IF(--LEFT(A1,4)<99,"00"&LEFT(A1,4)+1,IF(--LEFT(A1,4)<999,"0"&LEFT(A1,4)+1,IF(--LEFT(A1,4)<9999,LEFT(A1,4)+1,0)))) & "/4"

Ngoài ra kyo không biết có cách nào dùng đơn giản hơn không nữa.
 
Làm như bạn thì nó sẽ bị là 00010/4, 000100/4,...
Mà kyo nghĩ thì dụng ý của chủ topic muốn là 0010/4, 0100/4,... nên kyo đề nghị công thức này (tất nhiên maximum là 9999).
=IF(--LEFT(A1,4)<9,"000"&LEFT(A1,4)+1,IF(--LEFT(A1,4)<99,"00"&LEFT(A1,4)+1,IF(--LEFT(A1,4)<999,"0"&LEFT(A1,4)+1,IF(--LEFT(A1,4)<9999,LEFT(A1,4)+1,0)))) & "/4"

Ngoài ra kyo không biết có cách nào dùng đơn giản hơn không nữa.
Không phải là " 0010/4, 0100/4,..." mà bài #1 muốn công thức tại A2 để tăng dần số 1 đến ....n thôi mà
Tức là chỉ có số 1 biến thiên còn các ký tự khác thì không.
 
Cthức A2
PHP:
=RIGHT("000"&LEFT(A1,4)+1,4)&"/4"
Fill cthức xuống
Công thức này thì mình vừa thử cho vào ô A2=RIGHT("000"&LEFT(A1;4)+1;4)&"/4"
Copy 1 loạt xuống đến A11 đã "tèo" rồi A11 đến A20 ra kết quả là 0002/4
 
Vì chủ Topic chỉ yêu cầu có 4 chữ số mà!

Như Tổng cty dự kiến dưới 10 ngàn người, thế là họ đặt mã cấp 4, thế nhưng do nhu cầu sản xuất tăng lên, khuếch trương thêm nhà máy, tuyển thêm nhân viên, thế là hơn số 10 ngàn. Theo bạn, vì kế hoạch ban đầu mà không khuếch trương cty à?

Bởi vậy, phàm là người tính toán, mình phải lường trước những việc có thể xảy ra để ứng phó với các tình huống phải không nào?
 
Như Tổng cty dự kiến dưới 10 ngàn người, thế là họ đặt mã cấp 4, thế nhưng do nhu cầu sản xuất tăng lên, khuếch trương thêm nhà máy, tuyển thêm nhân viên, thế là hơn số 10 ngàn. Theo bạn, vì kế hoạch ban đầu mà không khuếch trương cty à?

Bởi vậy, phàm là người tính toán, mình phải lường trước những việc có thể xảy ra để ứng phó với các tình huống phải không nào?
Lường trước sự việc là do chủ topic anh ạ!
 
Lường trước sự việc là do chủ topic anh ạ!

Vì họ không biết làm công thức nên họ mới nhờ đến mình, họ chỉ đưa ra 4 con số thôi, giả sử sau này thực tế họ sử dụng kiểu số đa dạng thì công thức của mình lại làm ảnh hưởng đến công việc của họ. Và đương nhiên, đã là diễn đàn thì có nhiều cách của nhiều người, nhưng bản thân anh (bản thân Nghĩa), dù có cố gắng bảo vệ quan điểm của chính anh, nhưng phải thừa nhận tính chính xác và hiệu quả của những cách mà người khác hướng dẫn, chứ anh mà không lắng nghe, khư khư quan điểm của anh thì anh sẽ không bao giờ tiến bộ được.
 
Vì họ không biết làm công thức nên họ mới nhờ đến mình, họ chỉ đưa ra 4 con số thôi, giả sử sau này thực tế họ sử dụng kiểu số đa dạng thì công thức của mình lại làm ảnh hưởng đến công việc của họ. Và đương nhiên, đã là diễn đàn thì có nhiều cách của nhiều người, nhưng bản thân anh (bản thân Nghĩa), dù có cố gắng bảo vệ quan điểm của chính anh, nhưng phải thừa nhận tính chính xác và hiệu quả của những cách mà người khác hướng dẫn, chứ anh mà không lắng nghe, khư khư quan điểm của anh thì anh sẽ không bao giờ tiến bộ được.
1/ Cthức của tôi, anh đã phân tích ở bài 11, anh chỉ điểm nhược của nó và tôi đã đồng ý (đồng ý bằng 1 lời nhấn cảm ơn) và chủ Topic phải đọc nó ! Chẵng lẽ tôi tự tăng thêm các số 0 để cho người khác nói tôi khùng!
2/ Khi anh xây nhà cho anh ở, anh chỉ dự kiến cho 4 người ở (gồm 2 vợ chồng) # 4 phòng và anh xây 4 phòng, sau này anh vỡ kế hoạch sinh 12 bé -> anh đỗ thừa cho người xây nhà ?
3/ Các ông Bộ viễn thông, Bộ công an phải lường trước các số ĐT, số xe ... để có kế họach lâu dài cho mình chứ!
4/ Tôi thấy nhiều người viết cthức mà kg bẫy lỗi đầy đó sao?
Tôi không hiểu sao hôm nay anh lại bắt lỗi những chuyện rất trẻ con như vậy! Tôi cũng nói đến đây & cũng không tranh luận nữa.
 
1/ Cthức của tôi, anh đã phân tích ở bài 11, anh chỉ điểm nhược của nó và tôi đã đồng ý (đồng ý bằng 1 lời nhấn cảm ơn) và chủ Topic phải đọc nó ! Chẵng lẽ tôi tự tăng thêm các số 0 để cho người khác nói tôi khùng!
2/ Khi anh xây nhà cho anh ở, anh chỉ dự kiến cho 4 người ở (gồm 2 vợ chồng) # 4 phòng và anh xây 4 phòng, sau này anh vỡ kế hoạch sinh 12 bé -> anh đỗ thừa cho người xây nhà ?
3/ Các ông Bộ viễn thông, Bộ công an phải lường trước các số ĐT, số xe ... để có kế họach lâu dài cho mình chứ!
4/ Tôi thấy nhiều người viết cthức mà kg bẫy lỗi đầy đó sao?
Tôi không hiểu sao hôm nay anh lại bắt lỗi những chuyện rất trẻ con như vậy! Tôi cũng nói đến đây & cũng không tranh luận nữa.

Để tránh tranh luận, ngoài cách mà dhn46 ra tôi có công thức như sau:

=TEXT(SUBSTITUTE(A1,"/4","")+1,"0000""/4""")

Như thế thì dù nó ở ô nào mà nối tiếp theo cũng sẽ phát sinh thêm 1.

Riêng với cách của dhn46, nếu như người ta không đặt số 1 là đầu tiên mà người ta đặt số 9 đầu tiên chẳng hạn, nếu "nối gót" theo sau sẽ bị sai.
 
Riêng với cách của dhn46, nếu như người ta không đặt số 1 là đầu tiên mà người ta đặt số 9 đầu tiên chẳng hạn, nếu "nối gót" theo sau sẽ bị sai.
Cách của em không quan tâm tới A1 người ta viết gì anh ah
Chỉ cần thay cái màu đỏ kia và kéo thôi, không cần dữ liệu đầu tiên
Bắt đầu bằng số 9 thì sẽ là

Mà em thấy các đáp án so với vài dòng dữ liệu đều có ý đúng vậy chờ ý kiến chủ topic. Sự phản biện của các anh chị sẽ góp phần hoàn thiện thêm các công thức và sự hiểu biết cho mọi người, cho nên e nghĩ không nên dùng từ tranh luận cho nhẹ nhàng nhé!
 
Cách của em không quan tâm tới A1 người ta viết gì anh ah

Chỉ cần thay cái màu đỏ kia và kéo thôi, không cần dữ liệu đầu tiên
Bắt đầu bằng số 9 thì sẽ là


Mà em thấy các đáp án so với vài dòng dữ liệu đều có ý đúng vậy chờ ý kiến chủ topic. Sự phản biện của các anh chị sẽ góp phần hoàn thiện thêm các công thức và sự hiểu biết cho mọi người, cho nên e nghĩ không nên dùng từ tranh luận cho nhẹ nhàng nhé!

Dĩ nhiên nếu bẫy lỗi cho công thức thì nhiều lắm, kể cả công thức của mình, nhưng nếu mỗi giá trị mỗi sửa Row lại thì có kỳ không nè? Với công thức của Nghĩa thì đâu có cần sửa nếu ô trên nó có giá trị.

Nói vậy thôi, tùy theo hoàn cảnh mà ứng dụng vậy. Với câu hỏi của bạn này mình áp dụng nhiều cho việc làm số Bill đấy (Bill of Lading).
 
Lần chỉnh sửa cuối:
- Với công thức của anh và của các bạn thì tất cả phụ thuộc vào A1 rồi từ giá trị A1 kéo xuống để tạo số thứ tự, hay nói cách khác thì giá trị bắt đầu phải đánh là ở A1 sau đó thêm 1 lần gõ công thức ở A2 và Fill xuống (phải gõ ít nhất 2 lần ô A1 và A2)

- Với công thức của em thì chỉ cần gõ 1 lần duy nhất tại A1 và giá trị bắt đầu chuỗi số thứ tự chính là Row(1:1) đó. (chỉ cần thay đổi cái màu đỏ)
 
View attachment 94656

có cách nào cho số kia tăng dần mà không phải nhập thủ công ????
các bạn giúp mình với

Bạn nhập công thức này thử xem. Nếu dòng đầu tiên là dòng 7 thì cái số tô màu đỏ không cần sửa. Nếu dòng đầu tiên là dòng số 10 thì thay số màu đỏ là 9. Số màu xanh là có thể thay bằng 1 số khác chẳng hạn như 5 nếu muốn có dãy số 5 chữ số.

=RIGHT("0000000000000000"&ROW()-6,4)&"/4"
 
- Với công thức của anh và của các bạn thì tất cả phụ thuộc vào A1 rồi từ giá trị A1 kéo xuống để tạo số thứ tự, hay nói cách khác thì giá trị bắt đầu phải đánh là ở A1 sau đó thêm 1 lần gõ công thức ở A2 và Fill xuống (phải gõ ít nhất 2 lần ô A1 và A2)

- Với công thức của em thì chỉ cần gõ 1 lần duy nhất tại A1 và giá trị bắt đầu chuỗi số thứ tự chính là Row(1:1) đó. (chỉ cần thay đổi cái màu đỏ)

OK, đồng ý, nhưng có lẽ mở rộng hơn cho đề tài này có lẽ là ta viết hàm tổng quát cho một vùng hay một cột chẳng hạn, nếu các ô không có giá trị thì sẽ nhận số Max cuối cùng của vùng đó để cộng thêm 1. Các bạn nghĩ sao?
 
OK, đồng ý, nhưng có lẽ mở rộng hơn cho đề tài này có lẽ là ta viết hàm tổng quát cho một vùng hay một cột chẳng hạn, nếu các ô không có giá trị thì sẽ nhận số Max cuối cùng của vùng đó để cộng thêm 1. Các bạn nghĩ sao?
Chủ Topic này mà đọc hết các bài này là lãi to rồi &&&%$R
Ok với anh Nghĩa, nhưng em chưa hiểu cái đoạn màu đỏ
1 - Các ô không có giá trị là như thế nào?
2 - Giá trị tính Max nằm trong chuỗi hay như thế nào?
3 - Vùng ở đây được hiểu ra sao? Và tham chiếu cột tính Stt sẽ áp cho vùng như thế nào?
Anh có thể đưa ra File cụ thể để cùng thảo luận, cùng phản biện.
 
Chủ Topic này mà đọc hết các bài này là lãi to rồi &&&%$R
Ok với anh Nghĩa, nhưng em chưa hiểu cái đoạn màu đỏ
1 - Các ô không có giá trị là như thế nào?
2 - Giá trị tính Max nằm trong chuỗi hay như thế nào?
3 - Vùng ở đây được hiểu ra sao? Và tham chiếu cột tính Stt sẽ áp cho vùng như thế nào?
Anh có thể đưa ra File cụ thể để cùng thảo luận, cùng phản biện.

Dĩ nhiên trong chuỗi dạng 0000/4 và mình làm một công thức dựa vào số đầu tiên tác giả đưa ra và trong hàm mình bao hàm vùng tiếp nối, nếu mình fill toàn bộ công thức thì không nói, nhưng với tất cả các công thức fill xuống, giữa chừng mình xóa bớt công thức của vài ô thì công thức phía dưới sẽ nhận giá trị toàn bộ vùng fill mà tính tiếp.

-----------------------------------------------
Thôi mình về nhà đây, có gì mai tính tiếp nha.
 
Lần chỉnh sửa cuối:
Dĩ nhiên trong chuỗi dạng 0000/4 và mình làm một công thức dựa vào số đầu tiên tác giả đưa ra và trong hàm mình bao hàm vùng tiếp nối, nếu mình fill toàn bộ công thức thì không nói, nhưng với tất cả các công thức fill xuống, giữa chừng mình xóa bớt công thức của vài ô thì công thức phía dưới sẽ nhận giá trị toàn bộ vùng fill mà tính tiếp.
Vậy mai anh có thể làm rõ cho e một số vấn đề rồi ta tìm cách giải quyết.
1 - (giữa chừng mình xóa bớt công thức của vài ô thì công thức phía dưới sẽ nhận giá trị toàn bộ vùng fill mà tính tiếp.) : thì điểm bắt đầu là Max của vùng trên đoạn bị xóa?

Em tạm đưa công thức cho ô A2 (A1 vẫn có dữ liệu gốc)
Khi xóa 1 vùng thì nó sẽ lấy Max tiếp theo của vùng đó (số thứ tự liên tục)
=TEXT(COUNTA($A$1:A1)+1,"0000")&"/4"
 
Lần chỉnh sửa cuối:
Vậy mai anh có thể làm rõ cho e một số vấn đề rồi ta tìm cách giải quyết.
1 - (giữa chừng mình xóa bớt công thức của vài ô thì công thức phía dưới sẽ nhận giá trị toàn bộ vùng fill mà tính tiếp.) : thì điểm bắt đầu là Max của vùng trên đoạn bị xóa?

Em tạm đưa công thức cho ô A2 (A1 vẫn có dữ liệu gốc)
Khi xóa 1 vùng thì nó sẽ lấy Max tiếp theo của vùng đó (số thứ tự liên tục)

Ý mình nói là viết một hàm tổng quát bằng VBA đó. Thử với hàm này nha:

[GPECODE=vb]Function MaxAddText(ByVal NumFormat As String, _
ByVal IDText As String, _
ParamArray MainArray()) As String

Dim Arr As Variant, Itm As Variant, SubArray As Variant, tmp As Variant, _
KeyText As String, LenKeyText As Long, TmpMax As Long

KeyText = UCase(IDText): LenKeyText = Len(KeyText): TmpMax = 0

For Each Arr In MainArray
SubArray = Arr
If Not IsArray(SubArray) Then SubArray = Array(SubArray)
For Each Itm In SubArray
If Right(UCase(Itm), LenKeyText) = KeyText Then
tmp = Val(Left(Itm, Len(Itm) - LenKeyText))
If TmpMax < tmp Then TmpMax = tmp
End If
Next
Next
MaxAddText = Format(TmpMax + 1, NumFormat) & KeyText
End Function
[/GPECODE]

Cấu trúc hàm như sau:

=MaxAddText(Phần định dạng, Kiểu chuỗi đuôi, Một hoặc Nhiều vùng tham chiếu)

Cụ thể trong bài đó mình có công thức:

=MaxAddText("0000","/4",$A$1:A1)

Nếu vùng tham chiếu không thuộc dãy số đó thì nó cho ra giá trị đầu tiên 0001/4
 

File đính kèm

Với bài này, một cách đơn giản nhất là dùng định dạng.

Vào FormatCells, chọn Number, chọn Custom, gõ vào Type: 0000"/4" rồi OK

Fill series xuống dưới, thế là muốn dùng công thức nào cũng được ở mọi vùng, xong sau đó chỉ copy định dạng tại đó là đã có số mới rồi!

Chủ Topic này mà đọc hết các bài này là lãi to rồi &&&%$R

Chủ Topic là người được thừa hưởng thôi. Còn chúng ta mới thật sự là "lãi to" vì mình đang có kiến thức và được học của mọi người khác lại càng được tích lũy hơn; mặt khác, mình khám phá, tìm tòi cách mới, cách hay hơn, mình không hài lòng với chính mình và tìm ra nhiều phương pháp mới lạ, thì chính mình mới có lãi phải không nè.

Học trong câu hỏi của người khác là như vậy.
 

File đính kèm

Với VBA thì em còn yếu nên chưa "múa rìu qua mắt thợ" được. hi @$@!^%. Nếu có viết thì chỉ viết để áp dụng cho 1 trường hợp cụ thể và miễn dùng được thôi. Chắc phải mất nhiều nhiều thời gian để mầy mò và học hỏi.


Với bài này, một cách đơn giản nhất là dùng định dạng.

Vào FormatCells, chọn Number, chọn Custom, gõ vào Type: 0000"/4" rồi OK

Fill series xuống dưới, thế là muốn dùng công thức nào cũng được ở mọi vùng, xong sau đó chỉ copy định dạng tại đó là đã có số mới rồi!
Cách này theo ý kiến cá nhân e thấy không nên dùng vì nếu các bạn không quen định dạng Cell khi tiến hành sử dụng các công thức khác ví dụ như Vlookup...sẽ chưa chắc đã hiểu tại sao họ sai, mặt khác nếu PasteValue sẽ cho ra các giá trị chứ không phải fomat Cell, lúc ấy thì rối không biết cách gỡ như thế nào ấy chứ
 
Em vừa đi làm về, mở topic lên, thấy có rất nhiều ý kiến.
Tuy chưa xem hết, nhưng em rất cảm ơn mọi người đã chỉ cách cho em.
XIN CẢM ƠN!!!!
 

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

Back
Top Bottom