Tham chiếu dữ liệu

Liên hệ QC

trananhtuan281914

Thành viên hoạt động
Tham gia
18/3/20
Bài viết
153
Được thích
37
Chào anh chị, Em có tham chiếu dữ liệu có khác biệt, có cách dùng hàm nào để ra được kết quả mà không phải sửa dữ liệu. Anh chị hướng dẫn giúp em.

Cảm ơn anh chị.
 

File đính kèm

Hai dấu -- có ý nghĩa gì vậy ạ?
Cái này tôi cũng học từ các anh em khác ở diễn đàn này thôi, hiểu nôm na thì nó là dạng "phủ định của phủ định", tức là -- sẽ thành +, dữ liệu của bạn tuy nhìn là số nhưng được định dạng ở dạng CHỮ nên cần chuyển nó về dạng SỐ để tính toán, vậy thêm hai dấu - vào trước thì dữ liệu dạng chữ "210000006203" sẽ hiểu là +210000006203 và phù hợp với dữ liệu vùng tham chiếu.
 
Cái này tôi cũng học từ các anh em khác ở diễn đàn này thôi, hiểu nôm na thì nó là dạng "phủ định của phủ định", tức là -- sẽ thành +, dữ liệu của bạn tuy nhìn là số nhưng được định dạng ở dạng CHỮ nên cần chuyển nó về dạng SỐ để tính toán, vậy thêm hai dấu - vào trước thì dữ liệu dạng chữ "210000006203" sẽ hiểu là +210000006203 và phù hợp với dữ liệu vùng tham chiếu.
Dạ! Em cảm ơn nhiều ạ.
 
Có lẽ cách của bạn mới là đúng cho các trường hợp khác.
Đúng hay không thì không biết. Chỉ cần biết là cả hai bạn đều sủ dụng cái mà dân bảng tính cũng như dân lập trình gọi là kỹ thuật "ép kiểu"
a*1 là một biểu thức có giá trị số. Toán tử * (phép nhân) chỉ hoạt động khi hai về bên phải và bên trái của nó đều là số. Excel thông minh đủ để biết nếu vế nào không phải là số thì thử ép nó ra số. Vì vậy, nếu a là chuỗi thì nó sẽ được ép ra số. Ép không đặng thì ERROR.
--a cũng là một biểu thức có giá trị số. Thực sự biểu thức này viết rõ thì là -(-a). Toán tử - ở đây là toán tử một vế, chỉ có một con số làm vế bên phải của nó. Toán tử này còn đợc gọi là con toán đổi dấu (số âm thành dương và ngược lại). Xin đừng lầm với toán tử - hai vế, trả về sự khác biệt (hiệu số) giữa con số bên trái và con số bên phải. Vì toán tử đổi dấu chỉ hoạt động trên số cho nên Excel sẽ cố ép kiểu a thành ra số. Sỡ dĩ dùng -- là vì lần đổi dấu đầu ép kiểu a thành số nhưng cũng đồng thời đổi dấu con số, dấu trừ thứ hai đổi dấu trở lại. Xảo thuật đẹp như mơ!

Tại sao dùng --a mà không a*1 hay a*+0 ?
Tại vì phép đổi dấu là phép tính nội tạng của CPU (hay ALU gì đó). Con tính đổi dấu rất nhanh. Dẫu có làm 2 lần vẫn nhanh hơn các phép tính khác.
Đồng thời, xảo thuật đổi dấu hai lần này chỉ dùng để ép kiểu cho nên nhìn vào thì hiểu ý tác giả liền.

Cái này tôi cũng học từ các anh em khác ở diễn đàn này thôi, hiểu nôm na thì nó là dạng "phủ định của phủ định", tức là -- sẽ thành +,...
Trong lô gic của computer, từ "phủ định" được giành cho toán tử/hàm NOT.
Trong toán, dấu trừ còn có thể là toán tử một vế (một ngôi), và công việc của nó là đổi dấu con số. Chỉ vậy thôi.

Cũng cần lưu ý rằng các ngôn ngữ dòng họ C định nghĩa toán tử -- với ý nghĩa khác (Google Script để dùng trong Google Sheets theo khá sát với JavaScript cho nên có thể coi là thuôc dòng họ C). Vì vậy, đối với các ngôn ngữ này muốn đổi dấu hai lần phải dùng dấu ngoặc: -(-a)
 
Đúng hay không thì không biết. Chỉ cần biết là cả hai bạn đều sủ dụng cái mà dân bảng tính cũng như dân lập trình gọi là kỹ thuật "ép kiểu"
a*1 là một biểu thức có giá trị số. Toán tử * (phép nhân) chỉ hoạt động khi hai về bên phải và bên trái của nó đều là số. Excel thông minh đủ để biết nếu vế nào không phải là số thì thử ép nó ra số. Vì vậy, nếu a là chuỗi thì nó sẽ được ép ra số. Ép không đặng thì ERROR.
--a cũng là một biểu thức có giá trị số. Thực sự biểu thức này viết rõ thì là -(-a). Toán tử - ở đây là toán tử một vế, chỉ có một con số làm vế bên phải của nó. Toán tử này còn đợc gọi là con toán đổi dấu (số âm thành dương và ngược lại). Xin đừng lầm với toán tử - hai vế, trả về sự khác biệt (hiệu số) giữa con số bên trái và con số bên phải. Vì toán tử đổi dấu chỉ hoạt động trên số cho nên Excel sẽ cố ép kiểu a thành ra số. Sỡ dĩ dùng -- là vì lần đổi dấu đầu ép kiểu a thành số nhưng cũng đồng thời đổi dấu con số, dấu trừ thứ hai đổi dấu trở lại. Xảo thuật đẹp như mơ!

Tại sao dùng --a mà không a*1 hay a*+0 ?
Tại vì phép đổi dấu là phép tính nội tạng của CPU (hay ALU gì đó). Con tính đổi dấu rất nhanh. Dẫu có làm 2 lần vẫn nhanh hơn các phép tính khác.
Đồng thời, xảo thuật đổi dấu hai lần này chỉ dùng để ép kiểu cho nên nhìn vào thì hiểu ý tác giả liền.


Trong lô gic của computer, từ "phủ định" được giành cho toán tử/hàm NOT.
Trong toán, dấu trừ còn có thể là toán tử một vế (một ngôi), và công việc của nó là đổi dấu con số. Chỉ vậy thôi.

Cũng cần lưu ý rằng các ngôn ngữ dòng họ C định nghĩa toán tử -- với ý nghĩa khác (Google Script để dùng trong Google Sheets theo khá sát với JavaScript cho nên có thể coi là thuôc dòng họ C). Vì vậy, đối với các ngôn ngữ này muốn đổi dấu hai lần phải dùng dấu ngoặc: -(-a)
Cảm ơn Anh đã giảng giải. Thực ra tôi cũng chỉ biết làm thế thôi chứ cũng không hiểu tường tận như anh đã giảng. Tôi và nhiều bạn đọc khác khi được tiếp xúc với bài giảng giải này của Anh đã có thêm được 1 chút kiến thức bổ ích rồi, và không biết có được coi là học lóm không?!? Tôi chợt chột dạ, khi mình chỉ có chút kiến thức học mót, học chắp vá (tự học) không hiểu biết cốt lõi vấn đề mà cũng đi bày, giúp người khác cũng dễ có ngày gây họa cũng nên. Dẫu vậy, thì cũng cố gắng bày, giúp được ai thì bày, giúp, khi mình tự thử nghiệm thấy không sai, thấy cho ra kết quả đúng (code hoặc công thức, hàm...có thể chưa thật tối ưu) thì vẫn cứ chỉ, cứ bày, cứ giúp....
 
Cảm ơn Anh đã giảng giải. Thực ra tôi cũng chỉ biết làm thế thôi chứ cũng không hiểu tường tận như anh đã giảng. Tôi và nhiều bạn đọc khác khi được tiếp xúc với bài giảng giải này của Anh đã có thêm được 1 chút kiến thức bổ ích rồi, và không biết có được coi là học lóm không?!? Tôi chợt chột dạ, khi mình chỉ có chút kiến thức học mót, học chắp vá (tự học) không hiểu biết cốt lõi vấn đề mà cũng đi bày, giúp người khác cũng dễ có ngày gây họa cũng nên. Dẫu vậy, thì cũng cố gắng bày, giúp được ai thì bày, giúp, khi mình tự thử nghiệm thấy không sai, thấy cho ra kết quả đúng (code hoặc công thức, hàm...có thể chưa thật tối ưu) thì vẫn cứ chỉ, cứ bày, cứ giúp....
Tôi tự cho là còn sâu hơn bài học bạn có thể lấy được từ lớp học.

Nếu bạn giúp hay giải thích cái gì đó mà không hẳn đúng thì tôi tin rằng sẽ có người chỉnh cho bạn (*1). Điểm quan trọng là biết dẹp lòng tự ái để mà học. Chuyện "học lóm" chỉ là một quan điểm của một nhóm nhỏ nào đó. Hoàn toàn vô căn cớ.

(*1) đó là quan điểm đối chọi của tôi với chủ diễn đàn. Quan niệm của tôi là phẩm. Nếu diễn đàn tốt thì nhiều người giỏi ghé vào, và sự họ sẽ năng cấp kỹ thuật của mọi người. Diễn đàn xuề xoà, bạ gì cũng vơ thì những người giỏi cũng ghé nhưng bảo họ thiết tha với chuyện truyền kiến thức thì chưa chắc (*2). Rất tiếc là chủ diễn đàn chọn con đường lấy lượng bù phẩm. Chọn lối càng nhiều bài càng tốt. Rác rưởi gì cũng hốt.

(*2) khi vào diễn đàn kém chất lượng, những người giỏi thường chỉ muốn làm cho xong. Cái làm cho họ hứng là giải bài chứ không phải giải bày. Họ nghĩ rằng giải thích nhiều vô ích. Đàn gảy tai trâu mà. Bước vào chuồng trâu thì mang cỏ chứ mang đàn theo chi.
 
Nếu dùng cách này cho hàm Lookup thì có được không anh chị.
 
Tôi tự cho là còn sâu hơn bài học bạn có thể lấy được từ lớp học.

Nếu bạn giúp hay giải thích cái gì đó mà không hẳn đúng thì tôi tin rằng sẽ có người chỉnh cho bạn (*1). Điểm quan trọng là biết dẹp lòng tự ái để mà học. Chuyện "học lóm" chỉ là một quan điểm của một nhóm nhỏ nào đó. Hoàn toàn vô căn cớ.

(*1) đó là quan điểm đối chọi của tôi với chủ diễn đàn. Quan niệm của tôi là phẩm. Nếu diễn đàn tốt thì nhiều người giỏi ghé vào, và sự họ sẽ năng cấp kỹ thuật của mọi người. Diễn đàn xuề xoà, bạ gì cũng vơ thì những người giỏi cũng ghé nhưng bảo họ thiết tha với chuyện truyền kiến thức thì chưa chắc (*2). Rất tiếc là chủ diễn đàn chọn con đường lấy lượng bù phẩm. Chọn lối càng nhiều bài càng tốt. Rác rưởi gì cũng hốt.

(*2) khi vào diễn đàn kém chất lượng, những người giỏi thường chỉ muốn làm cho xong. Cái làm cho họ hứng là giải bài chứ không phải giải bày. Họ nghĩ rằng giải thích nhiều vô ích. Đàn gảy tai trâu mà. Bước vào chuồng trâu thì mang cỏ chứ mang đàn theo chi.
Em thì trình độ còn hạn chế nên lúc rảnh hay vào đây để học hỏi thêm, nếu bài nào hay và phù hợp với yêu cầu công việc thì sẽ nghiên cứu sâu hơn, hoặc chép file về tách công thức ra để tìm hiểu. Ngoài ra có vấn đề gì không xử lý được cũng đưa bài lên để được giúp đỡ. Nói thật là ở đây chưa thấy đề bài nào làm khó được các anh chị. Chúc các anh chị sức khỏe để chia sẻ thêm kiến thức cho mọi người.
 
Web KT

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

Back
Top Bottom