đặt tên cho ô dữ liệu nhiều

Liên hệ QC

longchunchun

Thành viên mới
Tham gia
18/4/20
Bài viết
7
Được thích
0
các bác cho e hỏi ? làm thế nào
ví dụ pin1 có các số: 36,15,20,25
e muốn ô pin 1 chỉ hiện chữ pin 1 k hiện số, mà khi đánh số vào cột số pin nó hiện thị tên là Pin 1
số pinpin 1 (36,15,20,25)pin 2 (37,40,05)
36pin 1
40pin 2
37pin 2
 
Xài macro sự kiện tại cột có tiêu đề là 'số pin'
(Mà kị gì mà các chữ cái đầu của các tiêu đề cột không viết hoa làm vậy?
 
. . . . , bác chỉ cặn kẽ cho e đc k
Trước khi 'cặn kẽ', mình xin hỏi chắt nịch thêm:
Tại 1 trong những ô dưới tiêu đề cột 'số pin' ta sẽ nhập 1 con số bất kỳ; khi nhập xong sẽ có vài trường hợp diễn ra, như sau:
1./ Số đó có trong 'pin 1' thì ô bên phải liền kề hiện lên cụm từ 'pin 1'
2./ Số đó có trong 'pin 2', thì ô bên phải cách 1 ô hiện lên 'pin 2'
3./ Số nhập không có trong 2 pin trên: hiện 'Nothing' ở đâu?

4) Bạn chỉ có 2 pin ( 1 & 2) thôi hay bao nhiêu 'pin'
5) Các ký số trong 'pin 1' & trong 'pin 2' cò thay đổi theo thời gian hay không & thay bằng cách nhập trực tiếp vô cột tiêu đề tương ứng của chu1nh hay cách nào khác?
. . . . .
 
Công thức thì mình thua, xài macro sự kiện thì có thể đó bạn!
 
Dùng hàm IFError, Find, và Substitute.

Tôi mách đến thế thôi. Muốn chỉ dẫn cho cạn kẽ thì chịu khó gõ câu hỏi cho cặn kẽ.
 
Anh mách dài quá rồi, tôi mách chỉ có IfError và find, không có sấp ti tút
Với điều kiện là các "số" luôn có 2 chữ số. Nhìn 05 thì dường như đó là điều chắc chắn, nếu không thì người ta đã viết là 5. Nhưng tại sao không nói 1 câu ngắn như tôi để khỏi lăn tăn? Mà để cho người thì mặc cảm là không được lanh lợi như con nhà người ta, còn kẻ khác thì tự hào vì tài đoán mò của mình. Người giúp chả phải thế nào, đoán mò cũng chả phải nhiệm vụ của anh ta. Nhưng chắc chắn người hỏi phải có nhiệm vụ mô tả dữ liệu, mô tả vấn đề. Cái phận đi nhờ nó là thế. Tôi là người không ngại giúp, nhưng tôi có nguyên tắc của tôi. Nếu tôi giúp thì phải theo nguyên tắc của tôi. Không phải cứ ngồi yêu cầu là xong.
 
Với điều kiện là các "số" luôn có 2 chữ số.
Ờ mà biết đâu lại có 36, 365, lại có 136, 1236, 3362 ... phải thêm cái Or
Tôi đoán mò thì không, nhưng lanh lợi cũng không, chỉ thỉnh thoảng ngứa tay, hoặc phải vận dụng cái đầu 1 chút cho sau này đỡ mắc bịnh ai dơ mơ.
 
Anh mách dài quá rồi, tôi mách chỉ có IfError và find, không có sấp ti tút
Vậy là đã ngắn rồi đó.
Cái tôi mách chính thức tới 3 lần substitute. Lần thứ nhất đổi ")" thành ",". Lần thứ nhì đổi "(" thành ",". Và lần thứ ba đổi " " thành "" (loại trừ hết mấy truonwgf hợp ô bị gõ lộn xộn.
Cái tôi thực hiện (nếu là tôi làm bài này) thì tạo thêm 1 dòng phụ tách lấy danh dánh số. Hiệu quả hơn.
Cái tôi không muốn mách là dùng một mẹo mà dân chuyên công thức mảng hay dùng: đổi chuỗi (i, j, k, m, n) thành một mảng và dùng hàm Match.
 
Nói là làm liền:
B2:
Mã:
=IF(ISNUMBER(SEARCH($A2,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B$1,"(","(,"),")",",)")," ","",SEARCH("(",B$1)))),TRIM(LEFT(B$1,SEARCH("(",B$1)-1)),"")
1639469457118.png
 
Vậy là đã ngắn rồi đó.
Cái tôi mách chính thức tới 3 lần substitute. Lần thứ nhất đổi ")" thành ",". Lần thứ nhì đổi "(" thành ",". Và lần thứ ba đổi " " thành "" (loại trừ hết mấy truonwgf hợp ô bị gõ lộn xộn.
Tôi thì find "(" & 36 & ","
rồi find "," & 36 & ","
rồi find "," & 36 & ")"
3 cái or với nhau
tìm thấy thì cái này, không thấy thì cái kia
 
Tôi thì find "(" & 36 & ","
rồi find "," & 36 & ","
rồi find "," & 36 & ")"
3 cái or với nhau
tìm thấy thì cái này, không thấy thì cái kia
Cách substitute tốt hơn. Bởi vì nó dễ dàng chuyển thành kiểu tra dòng phụ.
Ở dòng phụ là:
,36,15,20,25,

Chuyển thành names càng tốt.
 
Tôi thì find "(" & 36 & ","
rồi find "," & 36 & ","
rồi find "," & 36 & ")"
3 cái or với nhau
tìm thấy thì cái này, không thấy thì cái kia
Công thức này trung bình là 1,5 lần duyệt chuỗi và 1,5 lần ghép chuỗi.
Công thức substitute thì 3 lần duyệt chuỗi với substitute và 1 lần ghép chuỗi.

Nói chung thì công thức 1,5 lần duyệt chuỗi hiệu quả hơn (trừ phi dùng dòng phụ). Nhưng nếu chơi cho thật hiệu quả thì phải biết xác xuất IF với OR.
Vì chuỗi có trên 3 số cho nên xác suất số nằm ở giữa cao hơn ở hai đầu. Vì vậy nếu đặt find "," & 36 & "," đầu tiên trong hàm OR thì sẽ hiệu quả hơn một chút nữa.
Muốn biết thật sự hiệu quả còn tuỳ theo bên đầu vào, số nào nhiều nhất.
 
e k chuyên excel, đọc k hiểu gì :v
cảm ơn các bác đã nhiệt tình giúp đỡ, e nghĩ nó dễ nên mới lên nhờ, k ngờ nó khó quá.
 
e k chuyên excel, đọc k hiểu gì :v
cảm ơn các bác đã nhiệt tình giúp đỡ, e nghĩ nó dễ nên mới lên nhờ, k ngờ nó khó quá.
Tôi cũng không quen ngôn ngữ viết tắt, đọc chỉ có thể đoán lờ mờ.

Bài #14 đã cúng hết từ a đến y rồi đó. Nếu cần đến z thì đưa file lên, tác giả hy vọng bài ấy sẽ cúng tận tình.

Chỉ có gõ chữ cho đầy đủ mà cũng lười thì rành Excel mới là chuyện lạ.
 
Tôi cũng không quen ngôn ngữ viết tắt, đọc chỉ có thể đoán lờ mờ.

Bài #14 đã cúng hết từ a đến y rồi đó. Nếu cần đến z thì đưa file lên, tác giả hy vọng bài ấy sẽ cúng tận tình.

Chỉ có gõ chữ cho đầy đủ mà cũng lười thì rành Excel mới là chuyện lạ.
Có một điều chắc chắn là công thức cho trường hợp tổng quát phức tạp hơn cho trường hợp cụ thể nào đó. Vd. nếu biết là các "số" luôn có 2 chữ số, và số pin < 100, tức chỉ có nhiều nhất đến pin 99, thì công thức rất đơn giản. Vì thế sau bài 10 tôi cứ đợi người ta sẽ mô tả dữ liệu.

Mọi người cứ kêu ca nhưng con hư tại mẹ, tại ông bà. Người hỏi hư do các anh chiều người ta. Yêu cầu phải mô tả cụ thể, ngược lại cho qua, thử xem người ta có ngoan không.
 
Web KT

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

Back
Top Bottom