Tìm tổng chuỗi con trong chuỗi lớn

Ba Tê

Gội Rồi Mới Cạo
Tham gia ngày
5 Tháng năm 2009
Bài viết
11,477
Được thích
16,383
Điểm
1,860
Tuổi
61
Nơi ở
An Giang
"Bắt giò" tiếp
- Sửa cell A2 từ MCD+2AUL thành MCD+2 AUL ==> kết quả sai
- Sửa cell A2 từ MCD+2AUL thành MCD+2AUL2 ==> kết quả sai
Ẹc... Ẹc...
Từ đầu đưa ra mỗi mã có 3 ký tự, nếu >3 thì phía trước là Number, dấu tách chuỗi là dấu "+", không có dấu cách, không có mọi cái luxubu.
Nhập dữ liệu không đúng "quy luật" thì Msgbox báo lỗi. Thoát, không làm gì nữa. Để tác giả tính bằng mắt + máy tính bỏ túi.
Híc!
 

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia ngày
5 Tháng sáu 2008
Bài viết
30,356
Được thích
52,861
Điểm
11,910
Từ đầu đưa ra mỗi mã có 3 ký tự, nếu >3 thì phía trước là Number, dấu tách chuỗi là dấu "+", không có dấu cách, không có mọi cái luxubu.
Nhập dữ liệu không đúng "quy luật" thì Msgbox báo lỗi. Thoát, không làm gì nữa. Để tác giả tính bằng mắt + máy tính bỏ túi.
Híc!
Hổng biết đâu nha anh. Nhiều khi có mã AUL, xong họ lại thấy thiếu và bỗ sung thêm AUL2 cũng không chừng
Em "bắt giò" không phải là đùa đâu. Tại vì có lần em gặp bài toán dạng này rồi (mã A lại là con của mã B).
Nói chung cách đặt mã như vậy là không hợp lý nhưng đời mà, chuyện gì mà chẳng có
 

hoangtechu

Thành viên hoạt động
Tham gia ngày
8 Tháng bảy 2011
Bài viết
105
Được thích
48
Điểm
370
Hình như là bài #11.6 thì phải (tôi canh canh thấy hơi.. méo méo chút) ++--//*
Thôi, chờ tác giả xác nhận vậy. Mà có thêm trừ nhân chia nữa là... vui cmn luôn á
Ẹc... Ẹc...
Bác vui tính quá :))
Bài đã được tự động gộp:

Đã né nó rồi thầy còn hê lên nữa (mất 1 cử cà phe buổi sáng dzồi!) :(
Công thức điều chỉnh dài thêm chút nha chủ thớt @hoangtechu :
Mã:
E2=SUM(IFERROR(--SUBSTITUTE(SUBSTITUTE(" "&TRIM(MID(SUBSTITUTE(SUBSTITUTE($A$2:$A$36," ","")&"+","+",REPT(" ",100)),(COLUMN($A:$J)-1)*100+1,100))&" "," "&D2&" ",1),D2&" ",""),))
Kết thúc bằng Ctrl+Shift+Enter.

Thân
các bác thật pro, chắc em dùng cái công thức đầu tiên của bác cũng đủ xài rồi, cho em nhận làm đồ đệ được không bác :D
Bài đã được tự động gộp:

Đã né nó rồi thầy còn hê lên nữa (mất 1 cử cà phe buổi sáng dzồi!) :(
Công thức điều chỉnh dài thêm chút nha chủ thớt @hoangtechu :
Mã:
E2=SUM(IFERROR(--SUBSTITUTE(SUBSTITUTE(" "&TRIM(MID(SUBSTITUTE(SUBSTITUTE($A$2:$A$36," ","")&"+","+",REPT(" ",100)),(COLUMN($A:$J)-1)*100+1,100))&" "," "&D2&" ",1),D2&" ",""),))
Kết thúc bằng Ctrl+Shift+Enter.

Thân
Anh có thể giải thích công thức này được không ạ?
dài quá em không thấm được :)
em cảm ơn
 

Ba Tê

Gội Rồi Mới Cạo
Tham gia ngày
5 Tháng năm 2009
Bài viết
11,477
Được thích
16,383
Điểm
1,860
Tuổi
61
Nơi ở
An Giang
Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,277
Điểm
360
Nơi ở
Sài Gòn
cho em nhận làm đồ đệ được không bác :D
Bạn "gõ" nhầm cửa "Khổng" rồi! khà khà khà. :D
Bạn vào diễn đàn này, muốn "bái sư" thì nên lựa đúng nơi đúng chỗ mà bái, vào trang này mà tự nghiên cứu tìm "Chân sư":
https://www.giaiphapexcel.com/diendan/members/?key=most_likes
Chứ cỡ tôi còn lượm mót trên diễn đàn này, chỉ có dạy "ăn chơi sa đọa" thì đđđươơợccc...!
/-*+//-*+//-*+/
Khoảng chiều chiều, nhín chút thời gian tôi sẽ giải thích cho bạn công thức mới để bạn nghiền ngẫm hén!
 
Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,277
Điểm
360
Nơi ở
Sài Gòn

File đính kèm

Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,277
Điểm
360
Nơi ở
Sài Gòn

hoangtechu

Thành viên hoạt động
Tham gia ngày
8 Tháng bảy 2011
Bài viết
105
Được thích
48
Điểm
370
Như đã hứa, bạn xem hình và file kèm.
Thân
View attachment 201380
bác giỏi quá lại còn tốt bụng chỉ bảo nhiệt tình, em cảm ơn nhiều lắm .
Nhân đây em có 1 vấn đề muốn nhờ anh xem giúp ạ:
em có cột đơn giá cần điền , anh xem file đính kèm xem có giúp em đc không ạ. em cảm ơn các pro nhiều lắm
Bài đã được tự động gộp:

Bạn "gõ" nhầm cửa "Khổng" rồi! khà khà khà. :D
Bạn vào diễn đàn này, muốn "bái sư" thì nên lựa đúng nơi đúng chỗ mà bái, vào trang này mà tự nghiên cứu tìm "Chân sư":
https://www.giaiphapexcel.com/diendan/members/?key=most_likes
Chứ cỡ tôi còn lượm mót trên diễn đàn này, chỉ có dạy "ăn chơi sa đọa" thì đđđươơợccc...!
/-*+//-*+//-*+/
Khoảng chiều chiều, nhín chút thời gian tôi sẽ giải thích cho bạn công thức mới để bạn nghiền ngẫm hén!
em nghĩ giỏi nhưng còn có duyên mới được anh ạ :), hy vọng có duyên được đồ đệ của anh.
 

File đính kèm

Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,277
Điểm
360
Nơi ở
Sài Gòn
Nhân đây em có 1 vấn đề muốn nhờ anh xem giúp ạ:
em có cột đơn giá cần điền , anh xem file đính kèm xem có giúp em đc không ạ
Thật sự tôi không ưa chuộng lắm yêu cầu mới này, vì nó không mang lại hiệu quả gì để áp dụng cho thực tế cả, ngoài 1 đống công thức "gớm ghiếc" chả ai muốn nhìn. Nếu như buộc lòng phải tính toán thành tiền, bạn nên tách thành 3 cột Mã, SL, Thành tiền, rồi dùng công thức đơn giản để xử lý thì tốt nhất.

Như yêu cầu đếm SL các ký tự mã ở yêu cầu 1, chúng ta có thể dùng công thức đó cho việc tính công, với việc ghi nhận công trong ngày như: "0.5T+1.75S"--> "đi trễ 0.5h và về sớm 1.75h"; Hoặc "1.5T+3.5TC"..v.v.. Cho nên, dù gì dù thì yêu cầu trước vẫn hay hơn.

Trong file đính kèm tôi đã thực hiện công thức, tuy nhiên không khuyến khích bạn tìm hiểu cũng như sẽ áp dụng (nếu có).

Thân
 

File đính kèm

hoangtechu

Thành viên hoạt động
Tham gia ngày
8 Tháng bảy 2011
Bài viết
105
Được thích
48
Điểm
370
Thật sự tôi không ưa chuộng lắm yêu cầu mới này, vì nó không mang lại hiệu quả gì để áp dụng cho thực tế cả, ngoài 1 đống công thức "gớm ghiếc" chả ai muốn nhìn. Nếu như buộc lòng phải tính toán thành tiền, bạn nên tách thành 3 cột Mã, SL, Thành tiền, rồi dùng công thức đơn giản để xử lý thì tốt nhất.

Như yêu cầu đếm SL các ký tự mã ở yêu cầu 1, chúng ta có thể dùng công thức đó cho việc tính công, với việc ghi nhận công trong ngày như: "0.5T+1.75S"--> "đi trễ 0.5h và về sớm 1.75h"; Hoặc "1.5T+3.5TC"..v.v.. Cho nên, dù gì dù thì yêu cầu trước vẫn hay hơn.

Trong file đính kèm tôi đã thực hiện công thức, tuy nhiên không khuyến khích bạn tìm hiểu cũng như sẽ áp dụng (nếu có).

Thân
Dạ, em cũng nghĩ là sẽ khó thực hiện nhưng thực sự đó là việc của em đang phải làm. Trước khi lên chia sẻ ở đây thì e toàn phải tính thủ công anh ạ :(((
Em làm cho 1 trang bán hàng ol, đó chính là mã hàng theo đơn, bây giờ bên đó cần tính lỗ lãi nên cần tìm giá vốn. Em post file gốc cho anh xem luôn đây ạ
 

File đính kèm

Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,277
Điểm
360
Nơi ở
Sài Gòn
Dạ, em cũng nghĩ là sẽ khó thực hiện nhưng thực sự đó là việc của em đang phải làm. Trước khi lên chia sẻ ở đây thì e toàn phải tính thủ công anh ạ :(((
Em làm cho 1 trang bán hàng ol, đó chính là mã hàng theo đơn, bây giờ bên đó cần tính lỗ lãi nên cần tìm giá vốn. Em post file gốc cho anh xem luôn đây ạ
Tại sao bạn không thử cấu trúc lại file theo dõi bán hàng, vừa đơn giản vừa dễ theo dõi tiền hàng
Xem file kèm như 1 gợi ý.
Thân
 

File đính kèm

hoangtechu

Thành viên hoạt động
Tham gia ngày
8 Tháng bảy 2011
Bài viết
105
Được thích
48
Điểm
370
Tại sao bạn không thử cấu trúc lại file theo dõi bán hàng, vừa đơn giản vừa dễ theo dõi tiền hàng
Xem file kèm như 1 gợi ý.
Thân
Anh ơi, em muốn làm như thế, nhưng file này em ko được sửa anh ạ ,huhu
các bạn chốt đơn sẽ nhập file đó sau đó mang đi in, mà mấy bạn đó ko biết excel, mà cái đó em tính tiếp vậy em cảm ơn anh nhiều lắm.
À, anh cho em hỏi
em dùng công thức của anh đưa vào gg driver sao nó báo lỗi này anh nhỉ?
1533783266955.png
 
Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,277
Điểm
360
Nơi ở
Sài Gòn
Anh ơi, em muốn làm như thế, nhưng file này em ko được sửa anh ạ ,huhu
các bạn chốt đơn sẽ nhập file đó sau đó mang đi in, mà mấy bạn đó ko biết excel, mà cái đó em tính tiếp vậy em cảm ơn anh nhiều lắm.
À, anh cho em hỏi
em dùng công thức của anh đưa vào gg driver sao nó báo lỗi này anh nhỉ?
View attachment 201428
Bạn đưa link của GoogleSheet lên đây đi.
Thân
 
Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,277
Điểm
360
Nơi ở
Sài Gòn
1/ Theo cách cũ: Dùng trên Google Sheets bạn phải điều chỉnh như sau: Sheet "Tổng Hợp......."

D1=ARRAYFORMULA(sumproduct(isnumber(search({" ",1,2,3,4,5,6,7,8,9}&B1 ," "&substitute('Trang tính1'!$E$2:$E$341,"+"," ")))*{1,1,2,3,4,5,6,7,8,9}))

Lưu ý là dấu "," trong các Mảng: {" ",1,2,3,4,5,6,7,8,9} và {1,1,2,3,4,5,6,7,8,9}, chứ không phải dấu ";" như trên file của bạn nha!

2/ Tôi gửi thêm cho bạn một gợi ý khác, bạn thử mang lên Google Sheets, bạn sẽ thấy cách mới đơn giản hơn nhiều.
Xem file kèm.

Thân
 

File đính kèm

hoangtechu

Thành viên hoạt động
Tham gia ngày
8 Tháng bảy 2011
Bài viết
105
Được thích
48
Điểm
370
1/ Theo cách cũ: Dùng trên Google Sheets bạn phải điều chỉnh như sau: Sheet "Tổng Hợp......."

D1=ARRAYFORMULA(sumproduct(isnumber(search({" ",1,2,3,4,5,6,7,8,9}&B1 ," "&substitute('Trang tính1'!$E$2:$E$341,"+"," ")))*{1,1,2,3,4,5,6,7,8,9}))

Lưu ý là dấu "," trong các Mảng: {" ",1,2,3,4,5,6,7,8,9} và {1,1,2,3,4,5,6,7,8,9}, chứ không phải dấu ";" như trên file của bạn nha!

2/ Tôi gửi thêm cho bạn một gợi ý khác, bạn thử mang lên Google Sheets, bạn sẽ thấy cách mới đơn giản hơn nhiều.
Xem file kèm.

Thân
Vâng , em với Bác ý tưởng trùng nhau rồi ạ :)
trong lúc gửi cho anh, em cũng đã sửa công thức như file này. các bạn chốt đơn sẽ ko tách từng cột mã cho e, nên em sẽ làm việc đó bằng cột phụ thôi.
anh xem công thức từ cột F đến L giúp em, em tìm số lượng, nhưng mới giới hạn từ 1-9 được thôi ạ (lý do vì:
- nếu họ ghi mã hàng sau dấu + dùng hàm mid, chọn 2 giá trị sẽ vào dấu +,
- nếu người khác viết nó ở đầu nó sẽ báo lỗi) ạ
Em cảm ơn !
 

File đính kèm

Tham gia ngày
10 Tháng mười 2017
Bài viết
2,830
Được thích
8,277
Điểm
360
Nơi ở
Sài Gòn
Vâng , em với Bác ý tưởng trùng nhau rồi ạ :)
trong lúc gửi cho anh, em cũng đã sửa công thức như file này. các bạn chốt đơn sẽ ko tách từng cột mã cho e, nên em sẽ làm việc đó bằng cột phụ thôi.
anh xem công thức từ cột F đến L giúp em, em tìm số lượng, nhưng mới giới hạn từ 1-9 được thôi ạ (lý do vì:
- nếu họ ghi mã hàng sau dấu + dùng hàm mid, chọn 2 giá trị sẽ vào dấu +,
- nếu người khác viết nó ở đầu nó sẽ báo lỗi) ạ
Em cảm ơn !
Bạn xem cách này gọn hơn không?
https://docs.google.com/spreadsheets/d/16SWk_8BFRq7qOOE1qW-BrV5oi2uAw7I_3zUPhNnZahk/edit?usp=sharing
Thân
 

hoangtechu

Thành viên hoạt động
Tham gia ngày
8 Tháng bảy 2011
Bài viết
105
Được thích
48
Điểm
370
tuyệt vời anh ạ.
em chưa hiểu hiểu chỗ này lắm, anh có thể giải thích giúp em đc không?
LOOKUP(2,1/SEARCH('Mã SP'!$C$3:$C$87,TRIM(MID(SUBSTITUTE($E2&"+","+",REPT(" ",100)),(RIGHT(G$1)-1)*100+1,100))),'Mã SP'!$C$3:$C$87))

=IF(ISERROR(IF(G2<>"",--SUBSTITUTE(SUBSTITUTE(" "&TRIM(MID(SUBSTITUTE($E2&"+","+",REPT(" ",100)),(RIGHT(H$1)-1)*100+1,100))&" "," "&G2&" ",1),G2&" ",""),)),,IF(G2<>"",--SUBSTITUTE(SUBSTITUTE(" "&TRIM(MID(SUBSTITUTE($E2&"+","+",REPT(" ",100)),(RIGHT(H$1)-1)*100+1,100))&" "," "&G2&" ",1),G2&" ",""),))

Em dốt công thức mảng quá, anh có mở lớp dạy hoặc dạy ol không cho em theo học với nhé
 
Top Bottom