Tách số thỏa mãn điều kiện ra khỏi dãy số _ Xin các bác chỉ giáo

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

tomkute

Thành viên mới
Tham gia
22/5/13
Bài viết
10
Được thích
0
Em có số 223456 ở A1.

Điều kiện : trùng 25 hoặc 26 thì loại ra khỏi số .

Kết quả em cần là 234 ở A2 ( số 2 trùng 2 lần nhưng chỉ loại 1 số ).

Mong các bác giúp em . Thanks !
 
Em có số 223456 ở A1.

Điều kiện : trùng 25 hoặc 26 thì loại ra khỏi số .

Kết quả em cần là 234 ở A2 ( số 2 trùng 2 lần nhưng chỉ loại 1 số ).

Mong các bác giúp em . Thanks !

Nghĩa là sao đây? Có số 2, số 5 hoặc số 6 thì bỏ? Nếu những số ấy lập lại nhiều lần thì lấy 1
Đúng vậy không?
 
Em có số 223456 ở A1.

Điều kiện : trùng 25 hoặc 26 thì loại ra khỏi số .

Kết quả em cần là 234 ở A2 ( số 2 trùng 2 lần nhưng chỉ loại 1 số ).

Mong các bác giúp em . Thanks !

Dạ. Có 2 và 5 hoặc có 2 và 6 thì loại nhưng số 2 trùng ở 2 vị trí thì chỉ loại 1 số 2 ạ.

Bác giúp em với !
 
Dạ. Có 2 và 5 hoặc có 2 và 6 thì loại nhưng số 2 trùng ở 2 vị trí thì chỉ loại 1 số 2 ạ.

Bác giúp em với !

Số 5 hoặc 6 bị trùng thì cũng lấy 1 giống trường hợp số 2 luôn đúng không?
Bài này tôi nghĩ phải giải quyết bằng VBA mới là khỏe nhất. Bạn thấy sao?
 
Lần chỉnh sửa cuối:
Số 5 hoặc 6 bị trùng thì cũng lấy 1 giống trường hợp số 2 luôn đúng không?
Bài này tôi nghĩ phải giải quyết bằng VBA mới là khỏe nhất. Bạn thấy sao?

Vâng, số nào trùng thì chỉ loại 1, số 5 cung vậy .

VBA ạ. Em k biết gì về nó cả anh ạ.
 
Tức nếu bạn có 12355266234 thì kết quả là 135234?

Theo như em theo dõi từ đầu thì đúng là như vậy,
Nếu viết code bài này có cách nào không cần dùng vòng lặp không anh nhỉ ? có thể dùng Regex được không anh ?
 
Giữ lại 1 số ở vị trí nào cũng được ạ .

12355266234 thì kết quả là 13526234 hay 12356234 đều được ạ

Nếu thế thì cũng có thể lấy số 5 hoặc 6 nào cũng được? Tức hoặc bỏ 5 (6) đầu hoặc bỏ 5 (6) cuối?
Hoặc "chỗ này" tôi bỏ 5 (6) đầu nhưng "chỗ kia" do hứng chí tôi bỏ 5 (6) cuối, cứ thế đan xen?
Vớ vẩn
------------

Mà tại sao từ 12355266234 bạn có kết quả là 13526234?

Vì nếu tôi hiểu và tôi đi từ trái sang phải thì khi gặp 2 đầu tiên tôi xóa 2, 5, 6 còn 13526234. Tiếp theo phải là xóa 1 số 2, 1 số 5 và 1 số 6 chứ? Tức còn 13234

Bạn làm thế nào để có 13526234?

Có 3 chữ số 2, 2 chữ số 5, 2 chữ số 6 thì phải bỏ hết 2 số 5 và 2 số 6 chứ? Làm gì còn 5 với 6 trong kết quả nữa?

Hay bạn thậm chí không biết mình muốn gì? Hoặc bạn không biết miêu tả cái bạn muốn?
 
Lần chỉnh sửa cuối:
Nếu thế thì cũng có thể lấy số 5 hoặc 6 nào cũng được? Tức hoặc bỏ 5 (6) đầu hoặc bỏ 5 (6) cuối?
Hoặc "chỗ này" tôi bỏ 5 (6) đầu nhưng "chỗ kia" do hứng chí tôi bỏ 5 (6) cuối, cứ thế đan xen?
Vớ vẩn

Đúng là vớ vẩn,

Bài này ứng dụng đâu nhỉ, chủ topic nói vòng vo 1 hồi giống xoay Rubik quá - xem 1 hồi chóng mặt

Đề nghị chủ topic giải thích lại rõ ràng đưa ra nhiều ví dụ dãy số hơn, và nếu tốt nhất cho biết ứng dụng vào việc gì cụ thể hay phần việc cụ thể nào - có khi có giải pháp khác hay hơn.
 
Đúng là vớ vẩn,

Bài này ứng dụng đâu nhỉ, chủ topic nói vòng vo 1 hồi giống xoay Rubik quá - xem 1 hồi chóng mặt

Đề nghị chủ topic giải thích lại rõ ràng đưa ra nhiều ví dụ dãy số hơn, và nếu tốt nhất cho biết ứng dụng vào việc gì cụ thể hay phần việc cụ thể nào - có khi có giải pháp khác hay hơn.

Chào bạn vodoi2x. Lâu lắm không "gặp"

Tôi nghĩ bài này có lẽ chỉ có ứng dụng cho người hỏi thôi
 
Thôi thì viết tạm 1 đoạn code nháp , bạn xem nếu ưng ý với kết quả rồi, chỉ chúng ta " EDIT "tiếp !
Bạn diễn đạt vòng vo, không thoát ý gì cả :
[GPECODE=vb]
Function GPE(source)
Dim i As Long, n As Long, Item As String, tmp As String
Item = CStr(source)
With CreateObject("scripting.Dictionary")
For i = 1 To Len(Item)
tmp = Mid(CStr(Item), i, 1)
If Len(tmp) Then
If Not .exists(tmp) Then
.Add tmp, ""
Else
Item = Replace(Item, tmp, " ", , 1)
End If
End If
Next
End With
GPE = Replace(Item, " ", "")
End Function
[/GPECODE]
 
Thôi thì viết tạm 1 đoạn code nháp , bạn xem nếu ưng ý với kết quả rồi, chỉ chúng ta " EDIT "tiếp !
Bạn diễn đạt vòng vo, không thoát ý gì cả :
[GPECODE=vb]
Function GPE(source)
Dim i As Long, n As Long, Item As String, tmp As String
Item = CStr(source)
With CreateObject("scripting.Dictionary")
For i = 1 To Len(Item)
tmp = Mid(CStr(Item), i, 1)
If Len(tmp) Then
If Not .exists(tmp) Then
.Add tmp, ""
Else
Item = Replace(Item, tmp, " ", , 1)
End If
End If
Next
End With
GPE = Replace(Item, " ", "")
End Function
[/GPECODE]

Chưa xét chi tiết code. Tôi chạy code với source = 12355266255632347 thì kết quả là 1562347
Source có 3 chữ số 3 mà sao kết quả chỉ còn có 1 chữ số 3???
 
Híc, các bác nói bỏ số 5 đầu hay cuối hay ỏ giữa em phải giải thích thế !

Cụ thể là em muốn như sau .

Ở A1 em có 12345 . Nếu A1 có 2&5 thì A2 em cần kết quả là 134 ( có 8 trường hợp cho điều kiện nhưng em chỉ cần các bác giúp em 1 thôi ).

Nếu A1 có 12225 thì A2 em cần 122 ( loại 2 ở vị trí nào cũng được).

Nếu dùng công thức được thì tiện nhất vì em không biết chèn code VBA vào như thế nào ạ.

Mong các bác giúp em. Bài toán này dành riêng cho ứng dụng của em nên khó trình bày quá .
 
Lần chỉnh sửa cuối:
Chào bạn vodoi2x. Lâu lắm không "gặp"

Cám ơn bác, cũng lâu rùi mới lên GPE - và có lên cũng không mấy bài dễ để trả lời


Híc, các bác nói bỏ số 5 đầu hay cuối hay ỏ giữa em phải giải thích thế !

Cụ thể là em muốn như sau .

Ở A1 em có 12345 . Nếu A1 có 2&5 thì A2 em cần kết quả là 134 ( có 8 trường hợp cho điều kiện nhưng em chỉ cần các bác giúp em 1 thôi ).

Nếu A1 có 12225 thì A2 em cần 122 ( loại 2 ở vị trí nào cũng được).

Nếu dùng công thức được thì tiện nhất vì em không biết chèn code VBA vào như thế nào ạ.

Mong các bác giúp em. Bài toán này dành riêng cho ứng dụng của em nên khó trình bày quá .

Tức là loại 1 lần số 2 và 1 lần số 5 (nếu có)????

Nếu đúng thế thì dùng công thức sau

=SUBSTITUTE(SUBSTITUTE(A1,2,"",1),5,"",1)

Không có gì là không giải thích được, trừ khi ta cố tình, hoặc là không chịu bỏ thời gian ra mà thôi
------------------------------------


xem lại bài 1 thì hình như thêm số 6, nếu thế thì công thức thành:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,2,"",1),5,"",1),6,"",1)
 
Lần chỉnh sửa cuối:
Chưa xét chi tiết code. Tôi chạy code với source = 12355266255632347 thì kết quả là 1562347
Source có 3 chữ số 3 mà sao kết quả chỉ còn có 1 chữ số 3???

Hix,Code vừa mới lăn xuống đường ,đã "thủng lốp",< , Cảm ơn anh nhiều ! >
 
Lần chỉnh sửa cuối:
Cám ơn bác, cũng lâu rùi mới lên GPE - và có lên cũng không mấy bài dễ để trả lời




Tức là loại 1 lần số 2 và 1 lần số 5 (nếu có)????

Nếu đúng thế thì dùng công thức sau

=SUBSTITUTE(SUBSTITUTE(A1,2,"",1),5,"",1)

Không có gì là không giải thích được, trừ khi ta cố tình, hoặc là không chịu bỏ thời gian ra mà thôi

Thanks bác nhiều . Em làm được rồi ạ.
 
Web KT

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

Back
Top Bottom