Tách chữ trong hàm (1 người xem)

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

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

kimlan

Thành viên chính thức
Tham gia
29/8/07
Bài viết
73
Được thích
15
Em dùng hàm Concatenate để nối chuỗi ví dụ:Concatenate("Bộ môn","địa chất") thành Bộ môn địa chất,có công thức nào có thể tách trở lại được ko chỉ giùm em với.
 
Có nhiều cách.

Tuy nhiên, nếu để nối thì dễ, vì bạn chỉ cần cần biểu Excel nối, là nó nối, không cần biết nối từ đâu...

Còn tách ra, thì bạn phải chỉ cho Excel biết tách từ đâu, từ mốc nào?

Tôi ví dụ nhé, chữ "Bộ môn địa chất" của bạn, bạn muốn tách thành "bộ môn" và "địa chất":

Để tách "Bộ môn", dùng hàm FIND() tìm chữ "đ" của "địa chất" xem chữ "đ" nằm ở đâu (giả sứ "Bộ môn địa chất" đang ở A1)
= FIND("đ", A1) cho kết quả bằng 8, nghĩa là vị trí thứ 8 trong "Bộ môn địa chất"
Vậy để tách "Bộ môn", lấy 7 chữ đầu của "Bộ môn địa chất" là xong thôi (bằng 7 vi phải trừ đi một một khoảng trắng)
= LEFT(A1, FIND("đ", A1)-1)
Cách khác, bạn dùng hàm FIND() tìm khoảng trắng thứ hai, là khoảng trắng sau chữ "môn", xem nó bắt đầu từ đâu, rồi cũng dùng hàm LEFT() để tách "Bộ môn":
= LEFT(A1, FIND(" ", A1, FIND(" ", A1)+1))

Còn chữ "địa chất", bạn có thể lấy "Bộ môn địa chất" trừ bớt đi "Bộ môn" (giả sử ở trên, bạn gõ công thức tìm "Bộ môn" ở A2)
= RIGHT(A1, LEN(A1) - LEN(A2))
Hoặc cũng dùng hàm FIND() tìm khoảng trắng thứ hai (trước chữ "địa") trong "Bộ môn địa chất" rồi dùng hàm RIGHT() để trích ra:
= RIGHT(A1, LEN(A1) - FIND(" ", A1, FIND(" ", A1)+1))


Về cách dùng các hàm đã nói ở trên, bạn tham khảo bài Excel's Text Functions ở dưới chữ ký của tôi nhé.

 
oh tách lại thì có nhiều, nhưng phải tách theo cái chuẩn nào: ví dụ ngăn cách bởi dấu phẩy ",", dấu ";", hay ký hiệu nào đó ... hoặc cao cấp hơn là dựa trên danh mục đã có,... - cái đó mới là quan trọng
 
Ráp vào thì cực dễ, nhưng tách ra thì thật là khó.. giống như 2 người lấy nhau thì chỉ cần đăng ký kết hôn, nhưng muốn ly dị à? Phải ra tòa và nói rõ lý do vì sao muốn chia tay... Phải có bằng chứng gì đó.. cũng giống như trong chuổi cần tách, bạn phải tìm ra dc 1 đặc điểm gì đó đễ nhận dạng.. thế thì mới tách dc...
Hay là như vầy.. bạn trình lên đây tờ đơn xin chia tay... tòa sẽ xét cho.. ha.. ha..
ANH TUẤN
 
các bạn trong diển đàn thân mến
có công thức nào có thể tách 1 câu dài thành 2 đoạn ngắn để vô 2 ô khác nhau , tùy theo độ dài của ô được không ? cám ơn nhiều
 
các bạn trong diển đàn thân mến
có công thức nào có thể tách 1 câu dài thành 2 đoạn ngắn để vô 2 ô khác nhau , tùy theo độ dài của ô được không ? cám ơn nhiều
Oh, hơi khó hỉu 1 chút, bạn giải thích kỹ ra
còn hàm tách ký tự ra như BNTT đã viết ở post#2 trên - bạn xem nhé
 
Lần chỉnh sửa cuối:
lamho27 đã viết:
các bạn trong diển đàn thân mến
có công thức nào có thể tách 1 câu dài thành 2 đoạn ngắn để vô 2 ô khác nhau , tùy theo độ dài của ô được không ? cám ơn nhiều
Tùy theo độ dài của ô nghĩa là sao hở bạn? Lỡ độ dài của mỗi ô không thể chứa được 1/2 câu thì sao? Lúc đó lại chia 3 à? Phức tạp quá, mà cũng hơi...vô lý!

Thôi thì tôi gợi ý cho bạn cách chia đôi một câu nhé, bình dân thôi, hy vọng bạn hiểu.

Đầu tiên, bạn dùng hàm LEN() để đếm số ký tự trong câu đó, đặng mà chia đôi đấy mà.

Tiếp theo, bạn dùng hàm FIND() để tìm cái khoảng trắng bắt đầu tại chỗ chia đôi này trở về cuối,
gặp cái nào thì cho biết vị trí của cái đó.


Cuối cùng thì dùng hàm LEFT() để lấy nửa đầu, và hàm RIGHT() để lấy nửa sau.

Lưu ý thêm một chuyện, nói là chia đôi, nhưng thực tế thì hiếm khi "chia đôi" được,
vì còn phải giữ nguyên một từ trong câu nữa, chúng ta đâu để cắt đôi ngay giữa một từ được, bạn hiểu chứ?


Ví dụ nhé, ta chia câu này thành hai: GIẢI PHÁP EXCEL, CÔNG CỤ TUYỆT VỜI CỦA BẠN (giả sử đặt câu này tại ô A1)

Tìm điểm chia đôi của câu này: LEN(A1) / 2

Tìm khoảng trắng trong câu này, bắt đầu từ vị trí chia đôi, và trừ 1
(nghĩa là trừ bớt đi chính cái khoảng trắng nó vừa chỉ vị trí):
FIND(" ", A1, LEN(A1) / 2) - 1

Lấy nửa đầu (tại ô A2):
A2 = LEFT(A1, FIND(" ", A1, LEN(A1) / 2) - 1) GIẢI PHÁP EXCEL, CÔNG
Lấy nửa cuối (tại ô B2):
B2 = RIGHT(A1, LEN(A1) - LEN(A2)) CỤ TUYỆT VỜI CỦA BẠN
 
BNTT ơi , excell của em là tiếng pháp , không tìm thấy lệnh LEN và FIND , bạn có biết 1 lệnh trên tiếng Pháp kêu là cái gì không , bài giải thích của bạn rất đúng ý của em muốn hỏi , cám ơn bạn nhiều lắm
 
lamho27 đã viết:
excell của em là tiếng pháp , không tìm thấy lệnh LEN và FIND , bạn có biết 1 lệnh trên tiếng Pháp kêu là cái gì không
Lần đầu tiên nghe thấy.
 
Excell của em là tiếng pháp , không tìm thấy lệnh LEN và FIND , bạn có biết 1 lệnh trên tiếng Pháp kêu là cái gì không , bài giải thích của bạn rất đúng ý của em muốn hỏi , cám ơn bạn nhiều lắm
Excel tiếng Pháp hay người pháp viết bảng tính tương tự như excel?
Nếu excel bằng tiếng pháp thì bạn tự tìm thôi, theo nguyên tắc: vố menu Insert -> Function =>> các hàm kiểu text => dò lần lượt từng cú pháp hàm theo dòng trích dẫn ngắn về hàm;
Ngược lại, theo nguyên lí (NL)tương tự: cũng vô menu này & Tương tự. . . .
NL tương tư cũng là NL tương đối lớn & có thể áp dụng trong nhiều lĩnh vực khác nhau, chỉ kém thuyết tương đối & nguyên lí không xác định . . .
 
lamho27 đã viết:
BNTT ơi , excell của em là tiếng pháp , không tìm thấy lệnh LEN và FIND , bạn có biết 1 lệnh trên tiếng Pháp kêu là cái gì không , bài giải thích của bạn rất đúng ý của em muốn hỏi , cám ơn bạn nhiều lắm
Không biết các bác trên diễn đàn có thêm ý kiến gì không...
Riêng tôi thì chỉ nghĩ rằng: Excel tiếng gì thì tên hàm vẫn không thay đổi.

Tôi đã từng thấy một bản Excel tiếng Nhật, họ vẫn dùng, SUM, IF, LEN, v.v... đấy thay!
 
thiệt tình là không tìm thấy lệnh LEN và FIND , trong các hàm text chỉ có các hàm sau đây :BAHTTEXT . CAR . CHERCHE . CNUM . CODE . CONCATENER . CTXT . DROITE . EPURAGE . EXACT . FRANC . GAUCHE . MAJUSCULE . MIJUSCULE . NBCAR . NOMPROPRE . REMPLACER . REPT . STXT . SUBTITUE . SUPPRESPACE . T . TEXTE . TROUVE .
em đã thử hết các hàm trên mà vẩn không được , thôi thì đành chịu thua , nhưng cũng rất cám ơn các anh chị
[FONT=&quot][/FONT]
 
Bạn lamho27 thân, hình như:
NBCAR tương đương với LEN
RECHERCHE tương đương với FIND​
Tôi nghĩ vậy vì tôi thấy cú pháp hàm nó hao hao giống nhau (hic)
Tôi mò ở đây nè: http://office.microsoft.com/fr-fr/excel/CH100793501036.aspx
Nếu bạn đọc được tiếng Pháp thì có lẽ không khó...
 
Cám ơn BNTT nhiều lắm , em đã tìm ra được rồi , đúng là như vậy LEN=NBCAR , FIND=CHERCHE. khi nào có về VN sẻ mời BNTT đi ăn chè, còn có 1 câu hỏi : có cách nào tách câu này làm 2 phần ở chử " et "
vingt-quatre mille sept cent quatre-vingt-neuf euros et quarante-cinq centimes
 
có cách nào tách câu này làm 2 phần ở chử " et "
vingt-quatre mille sept cent quatre-vingt-neuf euros et quarante-cinq centimes
Bám vào điều kiện tim ông " et "
có 2 khoảng trắng trước và sau chử et nhé
Ví dụ:
A1= vingt-quatre mille sept cent quatre-vingt-neuf euros et quarante-cinq centimes
B1 =LEFT(A1,FIND( " et ",A1,1))
Tách dc thằng em đầu... Em phía sau gần tương tự... bạn nghiên cứu đi
ANH TUẤN
 
lamho27 đã viết:
Cám ơn BNTT nhiều lắm , em đã tìm ra được rồi , đúng là như vậy LEN=NBCAR , FIND=CHERCHE. khi nào có về VN sẻ mời BNTT đi ăn chè, còn có 1 câu hỏi : có cách nào tách câu này làm 2 phần ở chử " et "
vingt-quatre mille sept cent quatre-vingt-neuf euros et quarante-cinq centimes

Không biết bạn muốn tách thế nào, chữ "et" dính với câu trước hay dính với câu sau. Nhưng "et" = "và", tôi nghĩ chắc bạn muốn nằm ở câu sau. Vậy làm vầy nhé:

Giả sử câu
vingt-quatre mille sept cent quatre-vingt-neuf euros et quarante-cinq centimes đang ở ô A1 nghen.

Tách nửa trước chữ "et", tại ô A2
(nhớ thêm một khoảng trắng trước chữ "et", còn không thì phải trừ 1 sau khi gõ hàm CHERCHE() trong công thức - bạn xem lại bài số #2)
(A2) = GAUCHE(A1, CHERCHE(" et", A1))___ vingt-quatre mille sept cent quatre-vingt-neuf euros
Tiếng Anh:
= LEFT(A1, FIND(" et ", A1))
Phần còn lại (nửa sau) tại ô A3
(A3)= DROITE(A1, NBCAR(A1) - NBCAR(A2))___ et quarante-cinq centimes
Tiếng Anh: = RIGHT(A1, LEN(A1) - LEN(A2))
Xong rồi đó.

Hic, lần đầu tiên trong đời viết hàm Excel bằng tiếng Pháp, cũng vui vui...
 
Lần chỉnh sửa cuối:
BNTT giỏi thiệt , em đả làm ra được rồi , cám ơn nhiều lắm
 
Tôi cũng đang phải tách một số kí tự nhưng dùng theo cách của các bác thì k ăn thua vì hàm Find không cho phép tìm hơn một lần. Tôi dùng hàm IF trước Find để tìm kí tự "A"để cho kết quả "A", nếu không thấy thì tìm kí tự "B" để cho kết quả "B" mà không thực hiện được. Vậy phải làm sao???
 
echo07 đã viết:
Tôi cũng đang phải tách một số kí tự nhưng dùng theo cách của các bác thì k ăn thua vì hàm Find không cho phép tìm hơn một lần. Tôi dùng hàm IF trước Find để tìm kí tự "A"để cho kết quả "A", nếu không thấy thì tìm kí tự "B" để cho kết quả "B" mà không thực hiện được. Vậy phải làm sao???
Bạn nói thế e rằng hơi chủ quan đó... Tôi làm dc món FIND tìm hơn 1 lần đấy... đó là công thức mãng... Bạn thử ra đề xem sao!
Tham khào bài toán tách tỉnh của tôi nhé:
http://www.giaiphapexcel.com/forum/showthread.php?t=6037
ANH TUẤN
 
các anh chị cho em hỏi 1 vấn đề : trong ô A1 co khoảng 40 chử ( không phải là 40 ký tự abc ) có cách nào để vô ô B1 , mà ô B1 chỉ chứa được 30 chử , số còn lại sẻ tự động nhảy qua ô khác , thí dụ nó nhảy qua ô B3 chẳng hạn , cám ơn nhiều
 
Web KT

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

Back
Top Bottom