THIẾT KẾ CSDL: LƯỢC ĐỒ KHÁI NIỆM ERD - Entity-Relationship Diagram

1. Xác định yêu cầu: Thiết kế hệ Quản Trị Cơ Sở Dữ Liệu Quản Lý Hàng Hóa Xuất Nhập Khẩu

2. Thiết kế CSDL: 
  • Lược đồ khái niệm (ERD - Entity-Relationship Diagram): Vẽ sơ đồ ERD để biểu diễn các thực thể (entities), thuộc tính (attributes), và mối quan hệ (relationships) giữa các thực thể.
  • Xác định bảng (tables): Chuyển đổi các thực thể và mối quan hệ thành các bảng và xác định khóa chính (primary keys) và khóa ngoại (foreign keys).
  • Chuẩn hóa dữ liệu (Normalization): Áp dụng các quy tắc chuẩn hóa để giảm thiểu dư thừa dữ liệu và đảm bảo tính toàn vẹn của dữ liệu.


Lược đồ khái niệm chỉ để hình dung thực thể cần có, sau khi tạo cơ sở dữ liệu sẽ được bổ sung hay lược bỏ những thuộc tính dư thừa cho phù hợp với yêu cầu sử dụng và công năng cần có cũng như những lỗi cần khắc phục trong quá trình thiết kế

Bài tập bổ sung:






PHÂN BIỆT CÁC LOẠI CONTAINER

1. TYPE - Loại container
DC (dry container): cont hàng khô (chuyên chở hàng hóa thông thường)
GP (general purpose): cont thường (cách viết khác của cont hàng khô)
ST (standard): cont tiêu chuẩn (cách viết khác của cont hàng khô)
HC (high cube): cont cao

RE (reefer): cont lạnh
HR (hi-cube reefer): cont lạnh, cao


OT (open top): cont có thể mở nắp


FR (flat rack): cont mở nắp, mở cạnh

2. SIZE - Kích thước container
Cont có nhiều loại nhưng kích thước và mã ký hiệu thường theo tiêu chuẩn ISO 668: 1995
Theo đó, các cont ISO đều rộng 2,438m (8ft)
Chiều dài, cont 40' được lấy làm chuẩn, Các cont ngắn hơn có chiều dài được tính toán sao cho có thể xếp kết để đặt dưới cont 40' và vẫn đảm bảo có khe hở 3 inches (3") ở giữa.
Ví dụ: 2 cont 20' sẽ đặt khít dưới 1 cont 40 với khe hở ở giữa 2 cont 20' này là 3"
Vì lý do này, cont 20' chỉ có chiều dài xấp xỉ 20ft (chính xác là còn thiếu 1,5".
Về chiều cao, chủ yếu dùng 2 loại: thường và cao. Loại thường cao 8ft 6" (8' 6"), loại cao 9ft 6" (9' 6").

3. Thông số kỹ thuật của container
Cont 20' có chiều dài xấp xỉ 6m, rộng xấp xỉ 2,5m, cao xấp xỉ 2,6m, sức chứa 33,1m³, vỏ cont nặng 2.200kg, xếp được khối lượng nặng tối đa 28.200kg, sau khi xếp hàng nặng tối đa 30.400kg
Loại cont có chiều dài 20ft (thực ra chỉ 19' 10,5") được coi là đơn vị chuẩn với tên gọi TEU (Twenty Feet Equivalent Unit) để làm đơn vị đo lường trong vận tải container

4. Cách tính khối (CBM):
CBM là viết tắt của Cubic Meter hay m³
Công thức tính CBM theo cm
CBM = [(L x W x H) / 1.000.000] x Số lượng.
Ví dụ: Lô hàng gồm: 10 hộp, dài 55cm, rộng 35cm và cao 20cm.
Áp dụng công thức, ta có: [(55 x 35 x 20) / 1.000.000] x 10 = 0,3CBM
Công thức tính CBM theo mét
CBM = (L x W x H) x Số lượng.
Ví dụ: Lô hàng gồm: 20 thùng hàng, được đóng gói với chiều dài 1,5m, rộng 0,5m và cao 0,5m.
Áp dụng công thức: (1,5 x 0,5 x 0,5) x 20 = 7,5 CBM.
Công thức tính tổng CBM:
dài x rộng x cao x số lượng thùng = CBM;
CBM của 1 thùng: dài x rộng x cao = CBM.
Chuyển đổi CBM sang KG
7Khối lượng (kg) x số bao = 900 x 5 = 4000 Kg.
Công thức tính CBM trong hàng vận chuyển đường biển
Ví dụ lô hàng 10 có các thông số là:
Kích thước 1 mảnh: 50cm x 10cm x 60cm.
Trọng lượng 1 kiện: 70kg.
B1: Tổng khối lượng = 70kg x 10 bao = 700kg
B2: Khối lượng mỗi gói
Thể tích một gói = 0,5m x 1m x 0,6m = 0,3 CBM (m3)
Tổng khối lượng hàng hóa: 10 x 0,3 CBM = 3 CBM.
B3: Khối lượng thể tích của hàng hóa.
Hằng số khối lượng thể tích hàng sea = 1000 kgs / CBM.
Khối lượng thể tích = 3m3 x 1000 kg / m3 = 3000 kg.
B4: So sánh tổng trọng lượng của hàng hóa với trọng lượng thể tích của hàng hóa. Số nào lớn hơn thì chọn tính phí theo số đó.
Như tính toán ở trên, tổng trọng lượng là 700 kg. Khối lượng thể tích là 3.000 kg.
Trọng lượng CBM > trọng lượng thực tế, vì vậy nên sử dụng trọng lượng chiều 3000 kg để tính phí vận chuyển.

Mỗi loại cont sẽ có sức chứa khác nhau

KHÁI NIỆM VỀ HỆ CƠ SỞ DỮ LIỆU

 Xây dựng một hệ cơ sở dữ liệu (CSDL) là một quy trình quan trọng và bao gồm nhiều bước. Dưới đây là hướng dẫn cơ bản về cách xây dựng một hệ cơ sở dữ liệu:

1. Xác định yêu cầu:

  • Thu thập yêu cầu: Tìm hiểu và phân tích nhu cầu của người sử dụng cuối cùng, xác định thông tin cần lưu trữ.
  • Xác định mục tiêu: Định rõ mục đích của CSDL, các chức năng chính mà hệ thống cần hỗ trợ.

2. Thiết kế cơ sở dữ liệu:

  • Lược đồ khái niệm (ERD - Entity-Relationship Diagram): Vẽ sơ đồ ERD để biểu diễn các thực thể (entities), thuộc tính (attributes), và mối quan hệ (relationships) giữa các thực thể.
  • Xác định bảng (tables): Chuyển đổi các thực thể và mối quan hệ thành các bảng và xác định khóa chính (primary keys) và khóa ngoại (foreign keys).
  • Chuẩn hóa dữ liệu (Normalization): Áp dụng các quy tắc chuẩn hóa để giảm thiểu dư thừa dữ liệu và đảm bảo tính toàn vẹn của dữ liệu.

3. Lựa chọn hệ quản trị cơ sở dữ liệu (DBMS - Database Management System):

  • Lựa chọn DBMS: Chọn hệ quản trị cơ sở dữ liệu phù hợp với yêu cầu, ví dụ: MySQL, PostgreSQL, SQL Server, Oracle, MongoDB...
  • Cài đặt DBMS: Cài đặt và cấu hình hệ quản trị cơ sở dữ liệu đã chọn.

4. Tạo và triển khai cơ sở dữ liệu:

  • Tạo cơ sở dữ liệu: Sử dụng ngôn ngữ SQL để tạo cấu trúc cơ sở dữ liệu (bảng, chỉ mục, ràng buộc).
  • Nhập dữ liệu: Nhập dữ liệu vào các bảng, có thể sử dụng các công cụ nhập dữ liệu hoặc viết script SQL để tự động hóa quá trình này.

5. Phát triển ứng dụng:

  • Tích hợp CSDL vào ứng dụng: Phát triển phần mềm hoặc ứng dụng sử dụng CSDL để thực hiện các thao tác như thêm, sửa, xóa, truy vấn dữ liệu.
  • Tối ưu hóa truy vấn: Cải thiện hiệu suất truy vấn bằng cách tối ưu hóa câu lệnh SQL, tạo chỉ mục, v.v.

6. Bảo mật và sao lưu:

  • Bảo mật dữ liệu: Thiết lập các chính sách bảo mật để bảo vệ dữ liệu khỏi truy cập trái phép.
  • Sao lưu và khôi phục: Thiết lập các kế hoạch sao lưu và khôi phục dữ liệu để đảm bảo dữ liệu không bị mất mát trong trường hợp có sự cố.

7. Kiểm tra và bảo trì:

  • Kiểm tra hệ thống: Thực hiện kiểm tra toàn diện để đảm bảo rằng hệ thống hoạt động như mong đợi.
  • Bảo trì và nâng cấp: Thường xuyên bảo trì hệ thống và thực hiện các nâng cấp cần thiết để cải thiện hiệu suất và tính năng của CSDL.

Việc xây dựng một hệ cơ sở dữ liệu hiệu quả đòi hỏi sự kết hợp giữa kỹ thuật và phân tích, cũng như hiểu biết sâu sắc về yêu cầu của người dùng và môi trường kinh doanh.

Hệ quản trị cơ sở dữ liệu (DBMS) đóng vai trò quan trọng trong việc quản lý và tổ chức dữ liệu trong nhiều lĩnh vực khác nhau. Dưới đây là một số vai trò chính của DBMS:

1. Quản lý lưu trữ dữ liệu

  • Tổ chức dữ liệu: DBMS giúp tổ chức dữ liệu theo cấu trúc có thể quản lý và dễ truy cập, chẳng hạn như các bảng, chỉ mục, và lược đồ.
  • Quản lý dung lượng: Cung cấp các cơ chế để lưu trữ dữ liệu một cách hiệu quả, tiết kiệm không gian đĩa và tối ưu hóa việc truy xuất dữ liệu.

2. Bảo mật dữ liệu

  • Kiểm soát truy cập: Đảm bảo rằng chỉ những người dùng được ủy quyền mới có thể truy cập và thao tác dữ liệu.
  • Mã hóa dữ liệu: Cung cấp các phương pháp bảo vệ dữ liệu thông qua mã hóa để ngăn chặn truy cập trái phép.

3. Tính toàn vẹn dữ liệu

  • Ràng buộc toàn vẹn: Đảm bảo rằng dữ liệu trong CSDL luôn chính xác và nhất quán nhờ các ràng buộc như khóa chính, khóa ngoại, và các quy tắc toàn vẹn khác.

4. Quản lý giao dịch

  • Đảm bảo tính nhất quán: Cung cấp các cơ chế để thực hiện các giao dịch một cách an toàn, đảm bảo tính nhất quán và nguyên tử của dữ liệu.
  • Khôi phục dữ liệu: Cung cấp khả năng khôi phục dữ liệu về trạng thái trước đó trong trường hợp có lỗi hoặc thất bại hệ thống.

5. Tối ưu hóa truy vấn

  • Tối ưu hóa hiệu suất: Sử dụng các kỹ thuật tối ưu hóa để cải thiện hiệu suất truy vấn và giảm thời gian phản hồi.
  • Quản lý chỉ mục: Sử dụng các chỉ mục để tăng tốc độ truy xuất dữ liệu.

6. Hỗ trợ môi trường đa người dùng

  • Đồng thời truy cập: Cho phép nhiều người dùng truy cập và thao tác dữ liệu cùng lúc mà không gây xung đột.
  • Điều khiển đồng thời: Quản lý các vấn đề phát sinh khi nhiều giao dịch cùng thực hiện trên dữ liệu.

7. Bảo trì và quản lý

  • Sao lưu và khôi phục: Cung cấp các công cụ và quy trình sao lưu dữ liệu định kỳ để bảo vệ dữ liệu khỏi mất mát.
  • Giám sát và điều chỉnh: Theo dõi hiệu suất và sử dụng tài nguyên của CSDL để thực hiện điều chỉnh cần thiết nhằm tối ưu hóa hoạt động.

8. Tính mở rộng

  • Quản lý mở rộng: Cung cấp khả năng mở rộng CSDL khi nhu cầu lưu trữ dữ liệu tăng lên, đảm bảo hệ thống có thể phát triển theo nhu cầu của tổ chức.

Giải thích:

  1. Người dùng (Users):

    • Người dùng cuối (End Users): Sử dụng ứng dụng để truy cập dữ liệu.
    • Lập trình viên ứng dụng (Application Programmers): Phát triển phần mềm ứng dụng tương tác với CSDL.
    • Quản trị viên cơ sở dữ liệu (Database Administrators): Quản lý, bảo trì và bảo vệ CSDL.
  2. Ứng dụng (Applications):

    • Các chương trình và phần mềm kết nối với DBMS để thực hiện các thao tác trên dữ liệu.
  3. DBMS (Database Management System):

    • Quản lý lưu trữ dữ liệu: Quản lý cách dữ liệu được lưu trữ trên đĩa cứng.
    • Quản lý giao dịch: Đảm bảo tính nhất quán và đồng thời của dữ liệu khi có nhiều giao dịch xảy ra.
    • Quản lý bảo mật: Kiểm soát truy cập và bảo vệ dữ liệu khỏi truy cập trái phép.
    • Tối ưu hóa truy vấn: Cải thiện hiệu suất truy vấn dữ liệu.
  4. Cơ sở dữ liệu (Database):

    • Lưu trữ dữ liệu có cấu trúc, bao gồm các bảng, chỉ mục và mối quan hệ.
  5. Hệ thống lưu trữ (Storage System):

    • Cơ sở hạ tầng vật lý nơi dữ liệu được lưu trữ.

Hệ quản trị cơ sở dữ liệu giúp tổ chức, quản lý và truy xuất dữ liệu một cách hiệu quả và an toàn, đồng thời hỗ trợ các ứng dụng và người dùng trong việc thao tác dữ liệu.



22 HÀM "B" TRONG EXCEL (dành cho dân toán học)

1. Hàm BAHTTEXTChuyển một số sang văn bản tiếng Thái và thêm hậu tố "Baht."Bạn có thể thay đổi định dạng Baht sang một kiểu khác trong ứng dụng Excel trên máy tính bằng cách sử dụng Tùy chọn Khu vực và Ngôn ngữ (menu Bắt đầu trong Windows, Panel Điều khiển).

Cú pháp: BAHTTEXT(number)

Cú pháp hàm BAHTTEXT có các đối số sau đây:

Number    Bắt buộc. Là số mà bạn muốn chuyển sang văn bản hoặc tham chiếu đến ô có chứa số, hay công thức định trị thành số.

VD: 


2. Hàm BASEChuyển một số sang dạng trình bày văn bản với cơ số cho trước.

Cú pháp: BASE(Number, Radix [Min_length])

Cú pháp hàm BASE có các đối số sau đây:

Number    Bắt buộc. Số mà bạn muốn chuyển đổi. Phải là số nguyên lớn hơn hoặc bằng 0 và nhỏ hơn 2^53.

Radix    Bắt buộc. Cơ số mà bạn muốn chuyển số trên thành. Phải là số nguyên lớn hơn hoặc bằng 2 và nhỏ hơn hoặc bằng 36.

Min_length    Tùy chọn. Độ dài tối thiểu của chuỗi trả về. Phải là số nguyên lớn hơn hoặc bằng 0.

Chú thích: 

  • Nếu Số, Cơ số hoặc Min_length nằm ngoài giới hạn tối thiểu và tối đa, BASE sẽ trả về giá trị lỗi #NUM!
  • Nếu Số không có giá trị số, BASE sẽ trả về giá trị lỗi #VALUE!
  • Bất kỳ số nào không phải là số nguyên được nhập vào dưới dạng đối số sẽ bị cắt cụt thành số nguyên.
  • Nếu bao gồm cả đối số Min_length, số 0 đằng trước sẽ được thêm vào kết quả nếu kết quả này ngắn hơn độ dài tối thiểu được chỉ định. Ví dụ, BASE(16,2) trả về 10000 nhưng BASE(16,2,8) trả về 00010000.
  • Giá trị tối đa của đối số Min_length là 255.
VD: 


3. Hàm BESSELITrả về hàm Bessel biến đổi, tương đương với hàm Bessel định trị cho các đối số thuần ảo.
Cú pháp: BESSELI(X, N)
Cú pháp hàm BESSELI có các đối số sau đây:
X    Bắt buộc. Giá trị để đánh giá hàm.
N    Bắt buộc. Bậc của hàm Bessel. Nếu n không phải là số nguyên thì nó bị cắt cụt.
Chú thích: 
  • Nếu x không phải là số, thì hàm BESSELI trả về giá trị lỗi #VALUE! .
  • Nếu n không phải là số, thì hàm BESSELI trả về giá trị lỗi #VALUE! .
  • Nếu n < 0, thì hàm BESSELI trả về giá trị lỗi #NUM! .
  • Hàm Bessel biến đổi bậc thứ n của biến x là:
                Phương trình
VD:


4. Hàm BESSELJTrả về hàm Bessel.
Cú pháp: BESSELJ(X, N)
Cú pháp hàm BESSELJ có các đối số sau đây:
X    Bắt buộc. Giá trị để đánh giá hàm.
N    Bắt buộc. Bậc của hàm Bessel. Nếu n không phải là số nguyên thì nó bị cắt cụt.

Chú thích: 

  • Nếu x không phải là số, thì hàm BESSELJ trả về giá trị lỗi #VALUE! .
  • Nếu n không phải là số, thì hàm BESSELJ trả về giá trị lỗi #VALUE! .
  • Nếu n < 0, thì hàm BESSELJ trả về giá trị lỗi #NUM! .
  • Hàm Bessel bậc thứ n của biến x là:
                Phương trình
trong đó: 
            Phương trình  là hàm Gamma.
 VD:


5. Hàm BESSELKTrả về hàm Bessel biến đổi, tương đương với các hàm Bessel định trị cho các đối số thuần ảo.
Cú pháp: BESSELK(X, N)
Cú pháp hàm BESSELK có các đối số sau đây:
X    Bắt buộc. Giá trị để đánh giá hàm.
N    Bắt buộc. Bậc của hàm. Nếu n không phải là số nguyên thì nó bị cắt cụt.

Chú thích: 
  • Nếu x không phải là số, thì hàm BESSELK trả về giá trị lỗi #VALUE! .
  • Nếu n không phải là số, thì hàm BESSELK trả về giá trị lỗi #VALUE! .
  • Nếu n < 0, thì hàm BESSELK trả về giá trị lỗi #NUM! .
  • Hàm Bessel biến đổi bậc thứ n của biến x là:
            Phương trình
trong đó Jn là hàm Bessel J và Yn là hàm Bessel Y.
VD:


6. Hàm BESSELYTrả về hàm Bessel, còn được gọi là hàm Weber hay hàm Neumann.
Cú pháp: BESSELY(X, N)

Cú pháp hàm BESSELY có các đối số sau đây:

  Bắt buộc. Giá trị để đánh giá hàm.

N    Bắt buộc. Bậc của hàm. Nếu n không phải là số nguyên thì nó bị cắt cụt.

Chú thích: 

  • Nếu x không phải là số, thì hàm BESSELY trả về giá trị lỗi #VALUE! .
  • Nếu n không phải là số, thì hàm BESSELY trả về giá trị lỗi #VALUE! .
  • Nếu n < 0, thì hàm BESSELY trả về giá trị lỗi #NUM! .
  • Hàm Bessel bậc thứ n của biến x là:
        Phương trình
VD: 


7. Hàm BETA.DISTTrả về phân bố beta.

Phân bố beta thường được dùng để nghiên cứu sự biến thiên theo tỷ lệ phần trăm của một số thứ qua các mẫu, chẳng hạn như thời gian trong ngày mà người ta dành để xem ti vi.

Cú pháp: BETA.DIST(x,alpha,beta,cumulative,[A],[B])

Cú pháp hàm BETA.DIST có các đối số dưới đây:

X     Bắt buộc. Giá trị giữa A và B dùng để định trị hàm

Alpha     Bắt buộc. Một tham biến của phân phối.

Beta     Bắt buộc. Một tham biến của phân phối.

Cumulative Tích lũy      Bắt buộc. Một giá trị lô-gic quyết định dạng thức của hàm. Nếu tích lũy là TRUE, hàm BETA.DIST trả về hàm phân bố tích lũy; nếu FALSE, nó trả về hàm mật độ xác suất.

   Tùy chọn. Cận dưới của khoảng x.

B     Tùy chọn. Cận trên của khoảng x.

Chú thích: 

  • Nếu bất kỳ đối số nào không phải là số, hàm BETA.DIST trả về giá trị lỗi #VALUE!
  • Nếu alpha ≤ 0 hoặc beta ≤ 0, hàm BETA.DIST trả về giá trị lỗi #NUM! .
  • Nếu x < A, x > B, hoặc A = B, hàm BETA.DIST trả về giá trị lỗi #NUM! .
  • Nếu bạn bỏ qua giá trị A và B, hàm BETA.DIST sẽ sử dụng phân bố tích lũy beta chuẩn hóa, để A = 0 và B = 1

VD:     


8. Hàm BETA.INVTrả về nghịch đảo của hàm mật độ xác suất beta lũy tích (BETA.DIST).

Nếu xác suất = BETA.DIST(x,...TRUE), thì BETA.INV(probability,...) = x. Phân bố beta có thể dùng trong lập kế hoạch dự án để mô phỏng thời gian có thể hoàn thành, nếu biết trước thời gian hoàn thành kỳ vọng và độ biến thiên.

Cú pháp: BETA.INV(probability,alpha,beta,[A],[B])

Cú pháp hàm BETA.INV có các đối số sau đây:

Probability     Bắt buộc. Xác suất gắn với phân bố beta.

Alpha     Bắt buộc. Một tham biến của phân phối.

Beta     Bắt buộc. Tham số phân bố.

A     Tùy chọn. Cận dưới của khoảng x.

B     Tùy chọn. Cận trên của khoảng x.

Chú thích:

  • Nếu bất kỳ đối số nào không phải là số, hàm BETA.INV trả về giá trị lỗi #VALUE!
  • Nếu alpha ≤ 0 hoặc beta ≤ 0, hàm BETA.INV trả về giá trị lỗi #NUM! .
  • Nếu xác xuất ≤ 0 hoặc xác xuất > 1, hàm BETA.INV trả về giá trị lỗi #NUM! .
  • Nếu bạn bỏ qua giá trị A và B, hàm BETA.INV sẽ sử dụng phân bố tích lũy beta chuẩn hóa, để A = 0 và B = 1.
Được cho một giá trị xác xuất, hàm BETA.INV tìm kiếm giá trị x sao cho BETA.DIST(x, alpha, beta, TRUE, A, B) = xác suất. Vì vậy, độ chính xác của BETA.INV phụ thuộc vào độ chính xác của BETA.DIST.    

VD:


9. Hàm BIN2DECChuyển đổi số nhị phân sang thập phân.
Cú pháp: BIN2DEC(number)
Cú pháp hàm BIN2DEC có các đối số sau đây:
Number     Bắt buộc. Số nhị phân mà bạn muốn chuyển đổi. Số không được chứa quá 10 ký tự (10 bit). Bit quan trọng nhất của số là bit dấu. 9 bit còn lại là các bit độ lớn. Các số âm được thể hiện bằng cách sử dụng ký hiệu hai thành phần.
Chú thích: 

  • Nếu số không phải là số nhị phân hợp lệ hoặc nếu số chứa hơn 10 ký tự (10 bit), BIN2DEC trả về giá trị lỗi #NUM! .
VD:


10. Hàm BIN2HEX
Chuyển đổi số nhị phân sang thập lục phân.
Cú pháp: BIN2HEX(number, [places])
Cú pháp hàm BIN2HEX có các đối số sau đây:
Number    Bắt buộc. Số nhị phân mà bạn muốn chuyển đổi. Số không được chứa quá 10 ký tự (10 bit). Bit quan trọng nhất của số là bit dấu. 9 bit còn lại là các bit độ lớn. Các số âm được thể hiện bằng cách sử dụng ký hiệu hai thành phần.
Places    Tùy chọn. Số ký tự sử dụng. Nếu bỏ qua khoảng trắng, BIN2HEX dùng số ký tự tối thiểu cần thiết. Khoảng trắng có tác dụng đệm cho giá trị trả về có số 0 (không) đằng trước.
Chú thích:     
  • Nếu số không phải là số nhị phân hợp lệ hoặc nếu số chứa hơn 10 ký tự (10 bit), BIN2HEX trả về giá trị lỗi #NUM! .
  • Nếu số âm, BIN2HEX bỏ qua khoảng trắng và trả về số thập lục phân 10 ký tự.
  • Nếu BIN2HEX yêu cầu nhiều ký tự khoảng trắng hơn, nó trả về giá trị lỗi #NUM! .
  • Nếu khoảng trắng không phải là số nguyên thì nó bị cắt cụt.
  • Nếu khoảng trắng không phải dạng số, BIN2HEX trả về giá trị lỗi #VALUE! .
  • Nếu khoảng trắng âm, BIN2HEX trả về giá trị lỗi #NUM! .
VD:


11. Hàm BIN2OCT
Chuyển đổi số nhị phân sang bát phân.
Cú pháp: BIN2OCT(number, [places])
Cú pháp hàm BIN2OCT có các đối số sau đây:
Number    Bắt buộc. Số nhị phân mà bạn muốn chuyển đổi. Số không được chứa quá 10 ký tự (10 bit). Bit quan trọng nhất của số là bit dấu. 9 bit còn lại là các bit độ lớn. Các số âm được thể hiện bằng cách sử dụng ký hiệu hai thành phần.
Places    Tùy chọn. Số ký tự sử dụng. Nếu bỏ qua khoảng trắng, BIN2OCT dùng số ký tự tối thiểu cần thiết. Khoảng trắng có tác dụng đệm cho giá trị trả về có số 0 (không) đằng trước.
Chú thích: 
  • Nếu số không phải là số nhị phân hợp lệ hoặc nếu số chứa hơn 10 ký tự (10 bit), BIN2OCT trả về giá trị lỗi #NUM! .
  • Nếu số âm, BIN2OCT bỏ qua khoảng trắng và trả về số bát phân 10 ký tự.
  • Nếu BIN2OCT yêu cầu nhiều ký tự khoảng trắng hơn, nó trả về giá trị lỗi #NUM! .
  • Nếu khoảng trắng không phải là số nguyên thì nó bị cắt cụt.
  • Nếu khoảng trắng không phải dạng số, BIN2OCT trả về giá trị lỗi #VALUE! .
  • Nếu khoảng trắng âm, BIN2OCT trả về giá trị lỗi #NUM!
VD: 


12. Hàm BINOM.DIST
Trả về xác suất phân bố nhị thức của thuật ngữ riêng lẻ. Hãy dùng BINOM.DIST trong các vấn đề có số lượng kiểm định hoặc phép thử ấn định khi kết quả của bất kỳ phép thử nào chỉ là thành công hay thất bại, khi các phép thử là độc lập và khi xác suất thành công không đổi trong suốt quá trình thử nghiệm. Ví dụ, BINOM.DIST có thể tính toán xác suất rằng hai trong số ba em bé tiếp theo là bé trai.

Cú pháp: BINOM.DIST(number_s,trials,probability_s,cumulative)
Cú pháp hàm BINOM.DIST có các đối số sau đây:
Number_s     Bắt buộc. Số lần thành công trong các phép thử.
Trials     Bắt buộc. Số phép thử độc lập.
Probability_s     Bắt buộc. Xác suất thành công của mỗi phép thử.
Cumulative     Bắt buộc. Một giá trị lô-gic quyết định dạng thức của hàm. Nếu lũy tích là TRUE thì BINOM.DIST trả về hàm phân bố lũy tích, là xác suất có nhiều nhất number_s thành công; nếu FALSE, nó trả về hàm khối xác suất, là xác suất có number_s thành công.
Chú thích:
  • Number_s và phép thử bị cắt cụt thành số nguyên.
  • Nếu number_s, phép thử hay probability_s không phải dạng số, BINOM.DIST trả về giá trị lỗi #VALUE! .
  • Nếu number_s < 0 hoặc number_s > phép thử, BINOM.DIST trả về giá trị lỗi #NUM! .
  • Nếu probability_s < 0 hoặc probability_s > 1, BINOM.DIST trả về giá trị lỗi #NUM!
  • Hàm khối xác suất nhị thức là:
                Phương trình
trong đó: 
            Phương trình  là COMBIN(n,x).
Phân bố nhị thức lũy tích là:
                Phương trình
VD:


13. Hàm BINOM.DIST.RANGE
Trả về xác suất của một kết quả thử nghiệm dùng phân bố nhị thức.
Cú pháp: BINOM.DIST.RANGE(trials,probability_s,number_s,[number_s2])
Cú pháp hàm BINOM.DIST.RANGE có các đối số sau:
Trials    Bắt buộc. Số phép thử độc lập. Phải lớn hơn hoặc bằng 0.
Probability_s    Bắt buộc. Xác suất thành công trong mỗi phép thử. Phải lớn hơn hoặc bằng 0 và nhỏ hơn hoặc bằng 1.
Number_s    Bắt buộc. Số lần thành công trong các phép thử. Phải lớn hơn hoặc bằng 0 và nhỏ hơn hoặc bằng Phép thử.
Number_s2    Tùy chọn. Nếu được cung cấp, sẽ trả về xác suất mà số phép thử thành công sẽ rơi vào giữa Number_s và number_s2. Phải lớn hơn hoặc bằng Number_s và nhỏ hơn hoặc bằng Phép thử.
Chú thích: 
  • Nếu bất kỳ đối số nào nằm ngoài giới hạn, BINOM.DIST.RANGE sẽ trả về giá trị lỗi #NUM! .
  • Nếu bất kỳ đối số nào không có giá trị số, BINOM.DIST.RANGE sẽ trả về giá trị lỗi #VALUE!
  • Phương trình sau được sử dụng:
            Phương trình BINOM.DIST.RANGE
  • Trong phương trình trên, N là Phép thử, p là Probability_s, s là Number_s, s2 là Number_s2 và k là biến lặp.
  • Các đối số dạng số bị cắt cụt thành số nguyên.
VD:  


14. Hàm BINOM.INVTrả về giá trị nhỏ nhất có phân bố nhị thức lũy tích lớn hơn hoặc bằng giá trị tiêu chuẩn.
Cú pháp: BINOM.INV(trials,probability_s,alpha)
Cú pháp hàm BINOM.INV có các đối số sau đây:
Trials     Bắt buộc. Số phép thử Bernoulli.
Probability_s     Bắt buộc. Xác suất thành công của mỗi phép thử.
Alpha     Bắt buộc. Giá trị tiêu chí.
Chú thích: 
  • Nếu đối số không phải dạng số, BINOM.INV trả về giá trị lỗi #VALUE! .
  • Nếu trials không phải là số nguyên thì nó bị cắt cụt.
  • Nếu phép thử < 0, BINOM.INV trả về giá trị lỗi #NUM! .
  • Nếu probability_s là <= 0 hoặc probability_s => 1, BINOM. Hàm INV trả về giá #NUM!
  • Nếu alpha <= 0 hoặc alpha => 1, BINOM. Hàm INV trả về giá #NUM! .
VD:


15. Hàm BITAND
Trả về bitwise 'And' của hai số.
Cú pháp: BITAND( number1, number2)
Cú pháp hàm BITAND có các đối số sau đây.
Number1    Bắt buộc. Phải là dạng thập phân và lớn hơn hoặc bằng 0.
Number2    Bắt buộc. Phải là dạng thập phân và lớn hơn hoặc bằng 0.
Chú thích: 
  • BITAND trả về số thập phân.
  • Kết quả là 'bitwise 'AND' của các tham số.
  • Giá trị của mỗi vị trí bit chỉ được đếm nếu cả hai bit của tham số ở vị trí đó bằng 1.
  • Các giá trị được trả về từ các vị trí bit tịnh tiến từ phải sang trái dưới dạng lũy thừa của 2. Bit ngoài cùng bên phải trả về 1 (2^0), bit ở bên trái trả về 2 (2^1) v.v.
  • Nếu đối số nhỏ hơn 0, BITAND sẽ trả về giá trị lỗi #NUM! .
  • Nếu một trong hai đối số không phải là giá trị nguyên hoặc lớn hơn (2^48)-1, BITAND sẽ trả về giá trị lỗi #NUM! .
  • Nếu một trong hai đối số có giá trị không phải là số, BITAND sẽ trả về giá trị lỗi #VALUE! .
VD:


16.  Hàm BITLSHIFT
Trả về một số được dịch sang trái bằng số lượng bit cụ thể.
Cú pháp: BITLSHIFT(number, shift_amount)
Cú pháp hàm BITLSHIFT có các đối số sau đây.
Number    Bắt buộc. Number phải là số nguyên lớn hơn hoặc bằng 0.
Shift_amount    Bắt buộc. Shift_amount phải là số nguyên.
Chú thích: 
  • Chuyển dịch một số sang trái tương đương với việc thêm các số 0 vào bên phải của phép biểu diễn nhị phân của số đó. Ví dụ, dịch 2 bit sang trái trên giá trị thập phân 4 sẽ chuyển đổi giá trị nhị phân (100) sang 10000 hoặc 16 trong dạng thập phân.
  • Nếu một trong hai đối số nằm ngoài mức giới hạn, BITLSHIFT sẽ trả về giá trị lỗi #NUM! .
  • Nếu Số lớn hơn (2^48)-1, BITLSHIFT sẽ trả về giá trị lỗi #NUM! .
  • Nếu giá trị tuyệt đối của Shift_amount lớn hơn 53, BITLSHIFT sẽ trả về giá trị lỗi #NUM! .
  • Nếu một trong hai đối số có giá trị không phải là số, BITLSHIFT sẽ trả về giá trị lỗi #VALUE! .
  • Một số âm được dùng như đối số Shift_amount sẽ dịch số bit sang bên phải.
  • Một số âm được dùng như đối số Shift_amount sẽ trả về kết quả giống như đối số shift_amount dương đối với hàm BITRSHIFT.
VD:


17. Hàm BITOR
Trả về bitwise 'Or' của hai số.
Cú pháp: BITOR(number1, number2)
Cú pháp hàm BITOR có các đối số sau đây:
Number1    Bắt buộc. Phải là dạng thập phân và lớn hơn hoặc bằng 0.
Number2    Bắt buộc. Phải là dạng thập phân và lớn hơn hoặc bằng 0.
Chú thích:
  • Kết quả là 'bitwise 'OR' của các tham số.
  • Trong kết quả này, mỗi vị trí bit bằng 1 nếu các bit của tham số bất kỳ ở vị trí đó là 1.
  • Các giá trị được trả về từ các vị trí bit tịnh tiến từ phải sang trái dưới dạng lũy thừa của 2. Bit ngoài cùng bên phải trả về 1 (2^0), bit ở bên trái trả về 2 (2^1) v.v.
  • Nếu một trong hai đối số nằm ngoài mức giới hạn, BITOR sẽ trả về giá trị lỗi #NUM! .
  • Nếu một trong hai đối số lớn hơn (2^48)-1, BITOR sẽ trả về giá trị lỗi #NUM! .
  • Nếu một trong hai đối số có giá trị không phải là số, BITOR sẽ trả về giá trị lỗi #VALUE! .
VD:


18. Hàm BITRSHIFT
Trả về một số được dịch sang phải bằng số lượng bit cụ thể.
Cú pháp: BITRSHIFT(number, shift_amount)
Cú pháp hàm BITRSHIFT có các đối số sau đây.
Number    Bắt buộc. Phải là số nguyên lớn hơn hoặc bằng 0.
Shift_amount    Bắt buộc. Phải là số nguyên.
Chú thích:
  • Chuyển dịch một số sang phải tương đương với việc loại bỏ các chữ số ở bên phải ngoài cùng của phép biểu diễn nhị phân của số đó. Ví dụ, dịch 2 bit sang phải trên giá trị thập phân 13 sẽ chuyển đổi giá trị nhị phân (1101) sang 11 hoặc 3 trong dạng thập phân.
  • Nếu một trong hai đối số nằm ngoài mức giới hạn, BITRSHIFT sẽ trả về giá trị lỗi #NUM! .
  • Nếu Số lớn hơn (2^48)-1, BITRSHIFT sẽ trả về giá trị lỗi #NUM! .
  • Nếu giá trị tuyệt đối của Shift_amount lớn hơn 53, BITRSHIFT sẽ trả về giá trị lỗi #NUM! .
  • Nếu một trong hai đối số có giá trị không phải là số, BITRSHIFT sẽ trả về giá trị lỗi #VALUE! .
  • Một số âm được dùng như đối số Shift_amount sẽ dịch số bit sang bên trái.
  • Một số âm được dùng như đối số Shift_amount sẽ trả về kết quả giống như đối số Shift_amount dương đối với hàm BITLSHIFT.
VD: 


19. Hàm BITXORTrả về bitwise 'XOR' của hai số.
Cú pháp: BITXOR(number1, number2)
Cú pháp hàm BITXOR có các đối số sau đây.
Number1    Bắt buộc. Phải lớn hơn hoặc bằng 0.
Number2    Bắt buộc. Phải lớn hơn hoặc bằng 0.
Chú thích:
  • BITXOR trả về một số thập phân là kết quả của tổng bitwise 'XOR' (XOR loại trừ) của các tham số.
  • Nếu một trong hai đối số nằm ngoài mức giới hạn, BITXOR sẽ trả về giá trị lỗi #NUM! .
  • Nếu một trong hai đối số lớn hơn (2^48)-1, BITXOR sẽ trả về giá trị lỗi #NUM! .
  • Nếu một trong hai đối số có giá trị không phải là số, BITXOR sẽ trả về giá trị lỗi #VALUE! .
  • Trong kết quả, mỗi vị trí bit là 1 nếu giá trị của các tham số ở vị trí bit đó không bằng nhau; nói cách khác, một giá trị là 0 và giá trị còn lại là 1. Ví dụ, sử dụng BITXOR(5,3), 5 được biểu thị là 101 trong dạng nhị phân và 3 là 11 trong dạng nhị phân. Để dễ so sánh, bạn có thể xem 3 là 011. Từ phải sang trái, các giá trị bit tại ba vị trí trong ví dụ này đều giống nhau (1) ở vị trí ngoài cùng bên phải. Kết quả 'không bằng' trả về 1 cho vị trí thứ hai và thứ ba từ bên phải và kết quả ‘bằng' trả về 0 cho vị trí ngoài cùng bên phải.
  • Các giá trị của 1 được trả về từ các vị trí bit tịnh tiến từ phải sang trái thành lũy thừa của 2. Bit ngoài cùng bên phải trả về 1 (2^0), bit ở bên trái trả về 2 (2^1) v.v.
  • Với cùng ví dụ này, 0 là kết quả trả về cho vị trí bit ngoài cùng bên phải vì nó bằng 0, 2 (2^1) là kết quả trả về cho vị trí bit thứ 2 từ bên phải (giá trị 1) và 4 (2^2) là kết quả trả về từ bít ngoài cùng bên trái (cũng là giá trị 1). Tổng số là 6, biểu thị dưới dạng thập phân.
VD:


20. Hàm BETADIST
Trả về hàm mật độ xác suất beta lũy tích. Phân bố beta thường được dùng để nghiên cứu sự biến thiên theo tỷ lệ phần trăm của một số thứ qua các mẫu, chẳng hạn như thời gian trong ngày mà người ta dành để xem ti vi.
  • Quan trọng: Hàm này đã được thay thế bằng một hoặc nhiều hàm mới với độ chính xác cao hơn và có tên gọi phản ánh rõ hơn công dụng của chúng. Mặc dù hàm này vẫn sẵn dùng để đảm bảo tính tương thích ngược, bạn nên xem xét sử dụng các hàm mới từ bây giờ trở đi, vì hàm này có thể sẽ không còn sẵn dùng nữa ở các phiên bản tương lai của Excel.
Để biết thêm thông tin về hàm mới này, hãy xem hàm BETA.DIST.
Cú pháp: BETADIST(x,alpha,beta,[A],[B])
Cú pháp hàm BETADIST có các đối số sau đây:
X     Bắt buộc. Giá trị giữa A và B dùng để định trị hàm.
Alpha     Bắt buộc. Một tham biến của phân phối.
Beta     Bắt buộc. Một tham biến của phân phối.
A     Tùy chọn. Cận dưới của khoảng x.
B     Tùy chọn. Cận trên của khoảng x.
Chú thích:
  • Nếu bất kỳ đối số nào không phải là số, hàm BETADIST trả về giá trị lỗi #VALUE!
  • Nếu alpha ≤ 0 hoặc beta ≤ 0, hàm BETADIST trả về giá trị lỗi #NUM! .
  • Nếu x < A, x > B, hoặc A = B, hàm BETADIST trả về giá trị lỗi #NUM! .
  • Nếu bạn bỏ qua các giá trị A và B, hàm BETADIST sẽ sử dụng phân bố tích lũy beta chuẩn hóa, để A = 0 và B = 1.
VD:


21. Hàm BETAINV
Trả về giá trị nghịch đảo của hàm mật độ xác suất beta lũy tích cho một phân bố beta đã xác định. Tức là, nếu xác suất = BETADIST(x,...) thì BETAINV(xác suất,...) = x. Có thể dùng phân bố beta trong lập kế hoạch dự án để làm mẫu thời gian có thể hoàn thành trên cơ sở thời gian dự kiến và khả năng có sự thay đổi.
  • Quan trọng: Hàm này đã được thay thế bằng một hoặc nhiều hàm mới với độ chính xác cao hơn và có tên gọi phản ánh rõ hơn công dụng của chúng. Mặc dù hàm này vẫn sẵn dùng để đảm bảo tính tương thích ngược, bạn nên xem xét sử dụng các hàm mới từ bây giờ trở đi, vì hàm này có thể sẽ không còn sẵn dùng nữa ở các phiên bản tương lai của Excel.
Để biết thêm thông tin về hàm mới, hãy xem hàm BETA.INV.
Cú pháp: BETAINV(probability,alpha,beta,[A],[B])
Cú pháp hàm BETAINV có các đối số sau đây:
Probability     Bắt buộc. Xác suất gắn với phân bố beta.
Alpha     Bắt buộc. Một tham biến của phân phối.
Beta     Bắt buộc. Tham số phân bố.
A     Tùy chọn. Cận dưới của khoảng x.
B     Tùy chọn. Cận trên của khoảng x.
Chú thích:
  • Nếu bất kỳ đối số nào không phải dạng số, BETAINV trả về giá trị lỗi #VALUE! .
  • Nếu alpha ≤ 0 hoặc beta ≤ 0, BETAINV trả về giá trị lỗi #NUM! .
  • Nếu xác suất ≤ 0 hoặc xác suất > 1, BETAINV trả về giá trị lỗi #NUM! .
  • Nếu bạn bỏ qua giá trị cho A và B, BETAINV dùng phân bố beta lũy tích chuẩn để A = 0 và B = 1.
  • Với giá trị nào đó cho xác suất, BETAINV tìm kiếm giá trị x đó để BETADIST(x, alpha, beta, A, B) = xác suất. Do đó, tính chính xác của BETAINV tùy thuộc vào tính chính xác của BETADIST.
VD:


22. Hàm BINOMDIST
Trả về xác suất phân bố nhị thức của thuật ngữ riêng lẻ. Hãy dùng BINOMDIST trong các vấn đề có số lượng kiểm định hoặc phép thử ấn định khi kết quả của bất kỳ phép thử nào chỉ là thành công hay thất bại, khi các phép thử là độc lập và khi xác suất thành công không đổi trong suốt quá trình thử nghiệm. Ví dụ, BINOMDIST có thể tính toán xác suất rằng hai trong số ba em bé tiếp theo là bé trai.
  • Quan trọng: Hàm này đã được thay thế bằng một hoặc nhiều hàm mới với độ chính xác cao hơn và có tên gọi phản ánh rõ hơn công dụng của chúng. Mặc dù hàm này vẫn sẵn dùng để đảm bảo tính tương thích ngược, bạn nên xem xét sử dụng các hàm mới từ bây giờ trở đi, vì hàm này có thể sẽ không còn sẵn dùng nữa ở các phiên bản tương lai của Excel.
Để biết thêm thông tin về hàm mới, hãy xem hàm BINOM.DIST.
Cú pháp: BINOMDIST(number_s,trials,probability_s,cumulative)
Cú pháp hàm BINOMDIST có các đối số sau đây:
Number_s     Bắt buộc. Số lần thành công trong các phép thử.
Trials     Bắt buộc. Số phép thử độc lập.
Probability_s     Bắt buộc. Xác suất thành công của mỗi phép thử.
Cumulative     Bắt buộc. Một giá trị lô-gic quyết định dạng thức của hàm. Nếu lũy tích là TRUE thì BINOMDIST trả về hàm phân bố lũy tích, là xác suất có nhiều nhất số lần thành công; nếu FALSE, nó trả về hàm khối xác suất, là xác suất có số lần thành công.
Chú thích:
  • Number_s và phép thử bị cắt cụt thành số nguyên.
  • Nếu number_s, phép thử hay probability_s không phải dạng số, BINOMDIST trả về giá trị lỗi #VALUE! .
  • Nếu number_s < 0 hoặc number_s > phép thử, BINOMDIST trả về giá trị lỗi #NUM! .
  • Nếu probability_s < 0 hoặc probability_s > 1, BINOMDIST trả về giá trị lỗi #NUM!
  • Nếu x = number_s, n = phép thử và p = probability_s thì hàm khối xác suất nhị thức là:
                 Phương trình
trong đó:
                Phương trình là COMBIN(n,x).
  • Nếu x = number_s, n = phép thử và p = probability_s thì phân bố nhị thức lũy tích là:
                Phương trình
VD: