Cần giúp: Tách phần công thức trong chuỗi ra để tính toán (2 người xem)

Liên hệ QC

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

Cảm ơn bạn. Mình chưa hiểu được những gì bạn viết, bạn thông cảm.
Các hàm trên sử dụng Biểu thức chính quy để tách chuỗi.

Sau khi copy code vào một Module:
Bác gõ vào ô K18: =S_Val1(B18) Hàm này tách công thức tính
Bác gõ vào ô L18: =S_Val2(B18) Hàm này tách kết quả
Bác gõ vào ô M18: =K18=L18

Hàm S_Val1, Có đối số làm tròn số mặc định là 0
 
Các hàm trên sử dụng Biểu thức chính quy để tách chuỗi.

Sau khi copy code vào một Module:
Bác gõ vào ô K18: =S_Val1(B18) Hàm này tách công thức tính
Bác gõ vào ô L18: =S_Val2(B18) Hàm này tách kết quả
Bác gõ vào ô M18: =K18=L18

Hàm S_Val1, Có đối số làm tròn số mặc định là 0
Đã làm y như bạn hướng dẫn. Nó ra vầy: TRUE.
1598576841373.png
Ý mình không phải vầy.

Phải y như hình bên dưới nè:
Con trỏ chuột mình đang để ở ô K18. Bạn xem trên thanh công thức á. Nó phải có dòng:
=1013030*20/78/5,34*1+1013030*33/78/4,34*1
1598576967022.png
 

File đính kèm

  • 1598576785347.png
    1598576785347.png
    377.5 KB · Đọc: 5
Hiện tại mình đang xử lý thủ công ở cột K bằng cách sau: phủ khối dòng công thức bên cột B, sang cột K paste và Enter 2 lần, Excel sẽ tự fix bỏ các dấu "." phân cách hàng ngàn để ra kết quả luôn. Và mình vẫn đang làm từ từ như vậy trong khi chờ giải pháp khác.
Cảm ơn mọi người nhiều.
Ồ bạn muốn cột K hiện như vậy thì chịu rồi. Vì nếu dùng hàm thì nó ra kết quả luôn, chứ nó không có hiện được như thế.

Tôi có thử làm theo chỗ màu đỏ của bạn thì không tự bỏ dấu "." dấu "," đâu
 
Ồ bạn muốn cột K hiện như vậy thì chịu rồi. Vì nếu dùng hàm thì nó ra kết quả luôn, chứ nó không có hiện được như thế.

Tôi có thử làm theo chỗ màu đỏ của bạn thì không tự bỏ dấu "." dấu "," đâu
Bởi vậy, từ đầu Topic tới giờ có anh @huuthang_bd là hiểu ý tui đó.

Đâu, máy tui Office 2016 nó tự fix được nè, fix bỏ dấu "." hà, dấu "," đúng mà đâu cần bỏ. Máy tui định dạng gõ dấu "." bên bàn phím số nó sẽ ra dấu "," và đối số ngăn công thức là dấu ";".
@n0thing1988 xem nè: auto correct á.
1598580122680.png

Chia lương, tính lương đã cực. Mà ghi chú cột B với cột K còn cực hơn. (hông có than nhưng mà cũng giống than thiệt :D )
Chủ yếu cột B ghi chú á, tui thường bị bắt lỗi sai cột đó, vì ghi chú nhiều riết quáng. Kiểm đi kiểm lại 2-3 lần vẫn có sai sót.
 
Bởi vậy, từ đầu Topic tới giờ có anh @huuthang_bd là hiểu ý tui đó.

Đâu, máy tui Office 2016 nó tự fix được nè, fix bỏ dấu "." hà, dấu "," đúng mà đâu cần bỏ. Máy tui định dạng gõ dấu "." bên bàn phím số nó sẽ ra dấu "," và đối số ngăn công thức là dấu ";".
@n0thing1988 xem nè: auto correct á.
View attachment 244296

Chia lương, tính lương đã cực. Mà ghi chú cột B với cột K còn cực hơn. (hông có than nhưng mà cũng giống than thiệt :D )
Chủ yếu cột B ghi chú á, tui thường bị bắt lỗi sai cột đó, vì ghi chú nhiều riết quáng. Kiểm đi kiểm lại 2-3 lần vẫn có sai sót.
Máy của tôi thì hiện như sau 1598580523563.png
 
Phải y như hình bên dưới nè:
Con trỏ chuột mình đang để ở ô K18. Bạn xem trên thanh công thức á. Nó phải có dòng:
=1013030*20/78/5,34*1+1013030*33/78/4,34*1

Vậy bây giờ bạn copy một lần nữa và thử lại với Hàm S_Val1

Hàm tự động phân biệt dấu thập phân
 
Lần chỉnh sửa cuối:
Đằng nào cũng phải nhập biểu thức tính toán, nhập vô K18 trước
Sau đó dùng hàm FORMULATEXT lấy nó ra:

Mã:
="Ô. Huy nghỉ ốm ngày 01/4, NP 3 ngày từ 02/4->05/4, ĐCTT đến CH34 từ ngày 06/4->29/4, lv 53 ngày: TL "&FORMULATEXT(K18)&"="&TEXT(I12,"0,000")&"đ"
 
Không muốn dùng VBA bạn có thể tách cái chuỗi sau dấu = ra bằng công thức sau đó copy paste value sang cột K ="="&SUBSTITUTE(TRIM(MID(SUBSTITUTE("="&$B18;"=";REPT(" ";999));(LEN($B18)-LEN(SUBSTITUTE($B18;"=";"")))*999;999));".";"")
1598588442229.png
 

File đính kèm

Đúng ra bảng nó phải theo kiểu Tên|ngày bắt đầu nghỉ|ngày kết thúc nghỉ|lý do nghỉ| ....
Kiểu như vậy chứ? ai mà làm một chuỗi tùm lum vậy. lấy ra cũng khổ mà nhập vào cũng khổ
P/s: mà cty nghỉ thứ 678 thì giành ở nhà mà nghiên cứu đi chứ, hỏi chi haha
Nên lập bảng như ý bác này, liệt kê mỗi lí do một cột, cột B thì nối text qua, cột K tính lập công thức tính (công thức kiểm tra chuẩn là ok rồi).
 
Vậy bây giờ bạn copy một lần nữa và thử lại với Hàm S_Val1

Hàm tự động phân biệt dấu thập phân
Nó hiện debug rồi ! :(
Đằng nào cũng phải nhập biểu thức tính toán, nhập vô K18 trước
Sau đó dùng hàm FORMULATEXT lấy nó ra:

Mã:
="Ô. Huy nghỉ ốm ngày 01/4, NP 3 ngày từ 02/4->05/4, ĐCTT đến CH34 từ ngày 06/4->29/4, lv 53 ngày: TL "&FORMULATEXT(K18)&"="&TEXT(I12,"0,000")&"đ"
Cảm ơn bạn rất nhiều. Nhưng làm như bạn sẽ vẫn chậm hơn là hiện tại mình làm thủ công vầy nè:
"Hiện tại mình đang xử lý thủ công ở cột K bằng cách sau: phủ khối dòng công thức bên cột B, sang cột K paste và Enter 2 lần, Excel sẽ tự fix bỏ các dấu "." phân cách hàng ngàn để ra kết quả luôn. Và mình vẫn đang làm từ từ như vậy trong khi chờ giải pháp khác."
=> Nghĩa là mình ghi chú cột B trước, xong mình copy dòng công thức, paste sang cột K, Enter 2 lần là ra y như mong muốn của mình.
Không muốn dùng VBA bạn có thể tách cái chuỗi sau dấu = ra bằng công thức sau đó copy paste value sang cột K ="="&SUBSTITUTE(TRIM(MID(SUBSTITUTE("="&$B18;"=";REPT(" ";999));(LEN($B18)-LEN(SUBSTITUTE($B18;"=";"")))*999;999));".";"")
View attachment 244321
Mình làm theo thì nó hiện ra nguyên cái chuỗi, chứ không hiện kết quả. Nghĩa là copy paste value sang cột K xong ngay đó nó hiểu là 1 cái chuỗi là 1 dòng công thức có dấu "=" ở đầu tiên.
Nên lập bảng như ý bác này, liệt kê mỗi lí do một cột, cột B thì nối text qua, cột K tính lập công thức tính (công thức kiểm tra chuẩn là ok rồi).
Ý là xử lý ghi chú ở cột B hén. Mình cũng nghĩ tới hướng này. Nghĩa là mình phải tập hợp 50 file là 50 Bảng chấm công của 50 Cửa hàng để tổng hợp lại thành 1 file/1sheet chấm công. Sau đó sẽ xử lý cái mớ ngày công, ngày phép các kiểu trong đây. Hiện tại mình đang chưa làm được việc này. :(
Xong giai đoạn 1, tạm thời thế này đã.
Em vô thì thấy mấy chữ BÓ TAY !!! Em không hiểu gì luôn. Alt-F11 xem thì càng... bó tay :)

Cảm ơn mọi người lắm lắm luôn.
Làm thủ công sáng giờ cũng xong, bị dí phải làm xong trong hôm nay nên không xem bài của mọi người kịp. Để nghiên cứu tiếp. Chứ tháng nào, quý nào mình cũng làm 2-3 Bảng lương dạng này hết á (lương tháng, thưởng quý theo sản lượng, giảm trừ quý theo sản lượng đều có cột B, cột K như này) .
 
Bạn tích vào từng ô xong bấm enter là được vì nó đàn hiểu là chuỗi. Nó sẽ nhanh hơn là cop trong cột B ra
 
Bạn tích vào từng ô xong bấm enter là được vì nó đàn hiểu là chuỗi. Nó sẽ nhanh hơn là cop trong cột B ra
Enter xong nó cũng không thay đổi gì luôn á. Chuỗi vẫn còn đó như bên dưới nè.
1598608108467.png

Kích vô ô rồi Enter thấy hết BÓ TAY !!! đấy o_O
Đang làm theo mà chưa có được nè.

Vậy chắc bó tay rồi. Add in hoàn chỉnh như video. Nhưng tháng này làm xong rồi, đến kỳ lương tháng sau ta lại trao đổi tiếp :D

Em đang xem clip nóng này. Hay quá chừng quá đất, nhưng em chưa tự áp dụng được. Hay tại em chưa cài cái nút Thần chú "Ba cái đồ yêu. Xong rồi đó!" ????
1 là nó hiện chữ BÓ TAY !!!, 2 là nó lỗi Value!
 
Add-in trên máy tôi thì làm sao bạn áp dụng được :D. Bài #15 tôi nói là xong giai đoạn 1 mà.
Giai đoạn 1 là có cái hàm như trong video đó bạn, chưa có nút. Chưa biết vì sao máy bạn bị lỗi.
 
Add-in trên máy tôi thì làm sao bạn áp dụng được :D. Bài #15 tôi nói là xong giai đoạn 1 mà.
Giai đoạn 1 là có cái hàm như trong video đó bạn, chưa có nút. Chưa biết vì sao máy bạn bị lỗi.
Nếu được như clip của anh em thấy ngon rồi mà ta. Sao anh nói mới giai đoạn 1?
Bên máy em nó vầy nè.
Mới mở lên thì thấy vầy nha, chắc vầy mới đúng:
1598609976659.png

Sau khi em nhấn Update, hoặc nhấn Don't Update, hoặc nhấn dấu X hộp thoại này thì nó hiện ra chữ BÓ TAY!!! Em click vào ô đó nhấn Enter lại nó cũng hiện chữ BÓ TAY!!! như bên dưới:
1598610076969.png

Em Alt-F11 vào tìm sao không thấy chữ BÓ TAY ở đâu????!!
 
Giai đoạn 1 là gửi lên GPE rồi (bài #15) còn "ngon rồi" hiện vẫn ở trên máy tôi :D
BÓ TAY có thể là do máy bạn cài đặt định dạng hệ thống có dấu phân cách thập phân là dấu phẩy (,)
 
Evaluate là làm đươc theo yêu cầu của bạn ngay. Nhưng như anh Thắng nói đúng. Kế toán muốn kiểm tra thì để tự họ nghĩ công thức. Chứ bạn làm công thức cho họ xong rồi họ cũng biết đúng sai đâu.
Bài #15 là của @n0thing1988 mà anh.
Xong giai đoạn 1, tạm thời thế này đã.
Anh nói bài #30 này của anh phải không? Bài anh upload file XYZ.xlsm đó hả?
Bài đã được tự động gộp:

Giai đoạn 1 là gửi lên GPE rồi (bài #15) còn "ngon rồi" hiện vẫn ở trên máy tôi :D
BÓ TAY có thể là do máy bạn cài đặt định dạng hệ thống có dấu phân cách thập phân là dấu phẩy (,)
Dám lắm à nha.
 
Web KT

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

Back
Top Bottom