Xu Hướng 3/2023 # Cấu Trúc Của Hàm Cơ Bản Trong C# # Top 5 View | 2atlantic.edu.vn

Xu Hướng 3/2023 # Cấu Trúc Của Hàm Cơ Bản Trong C# # Top 5 View

Bạn đang xem bài viết Cấu Trúc Của Hàm Cơ Bản Trong C# được cập nhật mới nhất trên website 2atlantic.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.

Dẫn nhập

Ở các bài học trước, chúng ta đã cùng nhau tìm hiểu về các CẤU TRÚC VÒNG LẶP TRONG C#. Trong quá trình viết code, chúng ta thường thấy code của mình quá dài, quá rườm rà, khó khăn cho việc tái sử dụng lại. Để giải quyết vấn đề này, chúng ta sẽ cùng nhau tìm hiểu về hàm trong C#.

Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

Cấu trúc của

hàm

trong C#

Cấu trúc của hàm trong C#    

       

Cú pháp khai báo hàm:          

Trong đó:

 

[Từ khóa 1], [Từ khóa 2], [Từ khóa n]

là các từ khóa như:

public

,

static

,

read only

… và có thể không điền.

 

Kiểu dữ liệu trả về

như: từ khóa

void,

hay mọi kiểu dữ liệu như

int, long, bool,

SinhVien

 

Tên hàm:

Là tên gọi của

hàm

.

Tên bạn có thể đặt tùy ý nhưng nên đặt tên theo quy tắc đặt tên để có sự đồng bộ ngầm định giữa các lập trình viên và dễ tìm, dễ nhớ (xem lại quy tắc đặt tên ở bài

BIẾN TRONG C#

).

Hãy xem cách khởi tạo

hàm

giống khởi tạo một biến ở chỗ. Đều cần kiểu dữ liệu và tên. Có thể có các từ khóa. Tên để tái sử dụng

hàm

ở nơi mong muốn.

Parameter

là tham số truyền vào để sử dụng nội bộ trong hàm. Cấu trúc khởi tạo như một biến bình thường. Có thể không điền.

Hàm

chỉ được khai báo bên trong

class

.

Lưu ý:

Mọi

hàm

đều phải có cặp ngoặc nhọn {

} biểu thị là một khối lệnh. Mọi dòng code xử lý của hàm đều được viết bên trong cặp ngoặc nhọn {

} này.

Không thể khai báo một

hàm

trong một

hàm

khác theo cách thông thường.

Một hàm cơ bản hay thấy với cấu trúc bắt buộc phải có trong lập trình C# console hàm Main

static void Main(string[] args)

        {

                   }

Trong đó:

 

static

là từ khóa static (

sẽ tìm hiểu kỹ hơn ở bài sau

). Có thể không sử dụng cũng được. Nhưng ở trường hợp hàm

Main

của console C# thì phải có.

 

void

là kiểu trả về. Với hàm có kiểu trả về là

void

thì sẽ không cần từ khóa

return

trong hàm. Hoặc có nhưng chỉ đơn giản là ghi

return

;

 

Main

là tên hàm. Có thể đặt tùy ý. Nhưng ở trường hợp này là bắt buộc phải là

Main

vì mỗi chương trình console C# đều cần hàm

Main

.

 

string

[]

args

parameter

truyền từ bên ngoài vào để sử dụng

hàm

.

Có thể không có cũng được. nhưng ở trường hợp hàm

Main

của console C# là bắt buộc phải có. Ở đây có thể thay thế tên

args

bằng bất cứ tên nào khác như đặt tên một biến bình thường.

Hàm void

Hàm void là hàm có kiểu trả về là void. Chúng ta cùng xem qua khai báo hàm sau:

void Demo()

        {

           

return;

        }

 

Vì hàm

void

(hàm có kiểu trả về là

void

) thì không cần viết

return;

nên chúng ta có thể bỏ

return; đi.

void Demo()

        {

           

        }

Một lưu ý về sau: vì chúng ta đang viết code trên nền console C#. Bắt buộc phải có hàm Main. Nhưng hàm Main lại có từ khóa static. Nên để trong hàm Main có thể sử dụng các hàm mà ta viết ra thì các hàm đó cũng phải có từ khóa static.

static void Main(string[] args)         {                         Demo(); Console.ReadKey();         }         static void Demo()         {             Console.WriteLine("Called from Demo! HowKteam.com");         }

Kết quả vẫn xuất ra dòng chữ

Called from Demo! chúng tôi như được viết bên trong hàm

Main

. Nhưng thật sự nó đã được gọi từ hàm

Demo

.

 Khi sử dụng

hàm

ta sẽ gọi lại tên hàm kèm theo dấu () biểu thị đó là một hàm. Sau này nếu có

parameter

thì sẽ thêm giá trị vào bên trong dấu ().

Chúng ta có thể gọi lại nhiều lần và có thể thấy code chúng ta viết rất rõ ràng và rất dễ tái sử dụng.

static void Main(string[] args)         {                                     Demo();             Demo();             Demo();             Demo();             Console.ReadKey();         }         static void Demo()         {             Console.WriteLine("Called from Demo! HowKteam.com");         }

Nhiều dòng chữ “Called from Demo! chúng tôi được in ra màn hình

Hàm có kiểu trả về khác void

Giá trị trả về phải có kiểu dữ liệu tương ứng với Kiểu dữ liệu trả về khi khai báo hàm.

                                static int ReturnANumber()         {                         return 5;         }

   

Chúng ta có thể sử dụng hàm này bình thường. Và có thêm một lợi thế là có thể lấy giá trị trả về của hàm thông qua lời gọi tên hàm.

static void Main(string[] args)         {             Console.WriteLine(ReturnANumber());             Console.ReadKey();         }                                         static int ReturnANumber()         {             // bắt buộc phải có cấu trúc return trong thân hàm             return 5;         }

Kết quả số 5 xuất hiện trên màn hình

Chúng ta có thể gọi hàm trong hàm như sau: (để hiểu về trình tự gọi hàm các bạn có thể xem lại phần ví dụ của bài NHẬP XUẤT CONSOLE CƠ BẢN TRONG C#)

static void Main(string[] args)         {             Demo();             Console.ReadKey();         }                                        static int ReturnANumber()         {                         return 5;         }                 static void Demo()         {             Console.WriteLine(ReturnANumber());         }

Kết quả vẫn là số 5 được in ra màn hình

Parametter

Chúng ta đã biết cách khởi tạo và sử dụng một hàm. Vậy giờ có một yêu cầu như sau: Viết hàm tính tổng 2 số nguyên.

 

Chúng ta có thể sử dụng biến toàn cục (

sẽ được nói rõ ở bài sau

) để giải quyết:

static void Main(string[] args)         {             Console.WriteLine(SumTwoNumber());             Console.ReadKey();         }                         static int firstNumber = 5;         static int secondNumber = 10;                               static int SumTwoNumber()         {             return firstNumber + secondNumber;         }

Kết quả màn hình xuất ra giá trị tổng của hai biến firstNumber và secondNumber. 5 + 10 = 15

Nhưng khi dùng phương pháp như vậy rõ là khá phiền phức khi muốn in ra màn hình tổng của hai số một cách linh hoạt. Hay muốn thực hiện tính tổng hai số nhiều lần. Để tạo sự linh hoạt cho hàm thì chúng ta sẽ tìm hiểu thêm về parameter:

 

Có thể hiểu đơn giản

parametter

Tập hợp một hay nhiều biến chứa các giá trị cần thiết để thao tác trong hàm.

Các giá trị của các biến này là những giá trị mà người dùng truyền vào khi gọi hàm đó.

Khai báo một

parametter

cũng giống như khai báo biến (xem lại bài

BIẾN TRONG C#

). Khi khai báo nhiều

parametter

thì các khai báo phải cách nhau bởi dấu “,”

 Trở lại bài toán trên. Chúng ta muốn 2 số cần tính tổng này là 2 số do người dùng quyết định, 2 số này không cố định. Vì thế ta nảy sinh ý tưởng:

Cho người dùng truyền vào 2 số họ muốn tính tổng vào 2 biến.

Từ đó ta chỉ cần tính tổng giá trị 2 biến đó rồi trả kết quả về cho người dùng.

 Các bạn xem qua ví dụ sau:

static void Main(string[] args)         {                                     Console.WriteLine(SumTwoNumber(5, 10));             Console.ReadKey();         }                                              static int SumTwoNumber(int firstNumber, int secondNumber)         {             return firstNumber + secondNumber;         }

Kết quả màn hình vẫn in ra giá trị 15.

Các khai báo

int

firstNumber

,

int

secondNumber

là các khai báo

parametter

. Với khai báo này ta hiểu rằng muốn sử dụng hàm này thì cần truyền vào 2 giá trị kiểu

int

.

Các

parametter

được xem như các biến cục bộ có phạm vị sử dụng trong hàm (biến cục bộ sẽ được trình bày ở bài sau).

Các

parametter

được khởi tạo ngay khi gọi

hàm

và được hủy khi kết thúc gọi

hàm

.

Số lượng

parameter

không giới hạn.

Khi sử dụng hàm phải truyền vào đủ và đúng

parameter

. (Đủ số lượng, đúng kiểu dữ liệu và đúng thứ tự như khai báo)

Có thể khai báo các

parameter

với các kiểu dữ liệu khác nhau.

Hàm sử dụng sẽ tạo ra các bản sao của

parameter

truyền vào trên RAM. Sau đó dùng những bản sao đó để xử lý dữ liệu. Cho nên kết thúc lời gọi hàm giá trị của các

parameter

sẽ không bị thay đổi.

 Cùng xét thêm một ví dụ nữa nào:

static void Main(string[] args)         {             int firstNum = 0;             int secondNum = 3;                         for (int count = 0; count < 10; count++)             {                                 PrintSumTwoNumber(firstNum, secondNum);                                 firstNum += count;                 secondNum += count * 2 % 5;             }             Console.ReadKey();         }                         static void PrintSumTwoNumber(int firstNumber, int secondNumber)         {             Console.WriteLine("{0} + {1} = {2}",firstNumber, secondNumber, SumTwoNumber(firstNumber, secondNumber));         }                    static int SumTwoNumber(int firstNumber, int secondNumber)         {             return firstNumber + secondNumber;         }

Kết quả màn hình xuất ra 10 giá trị tổng của 2 số

 Ví dụ về các

parameter

với kiểu dữ liệu khác nhau

static void Main(string[] args)         {             PrintSomeThing("K9", 22);             PrintSomeThing("HowKteam.com", 1);             Console.ReadKey();         }              static void PrintSomeThing(string name, int age)         {                         Console.WriteLine("This is {0}, {1} years old.", name, age);         }

Kết quả khi chạy chương trình:

 Nếu không sử dụng

parametter

trong hàm thì không nên khai báo

parametter

để tránh lãng phí bộ nhớ!

Kết luận

Qua bài này chúng ta đã nắm được hàm là gì, cách sử dụng hàm.

Bài sau chúng ta sẽ tìm hiểu về BIẾN TOÀN CỤC VÀ BIẾN CỤC BỘ TRONG C#.

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện chúng tôi để nhận được sự hỗ trợ từ cộng đồng.

Hàm Date Trong Excel, Cách Sử Dụng, Cấu Trúc Hàm

Định nghĩa hàm Date, hàm ngày tháng trong Excel

Hàm DATE được tích hợp sẵn trên Excel cho phép người dùng tạo một ngày với đầy đủ các thành phần năm, tháng và ngày. Đặc biệt hàm DATE cực kỳ hữu ích trong trường hợp cung cấp ngày làm đầu vào cho các hàm khác như hàm SUMIFS hay hàm COUNTIFS, vì người dùng có thể dễ dàng tập hợp các giá trị năm, tháng và ngày từ một ô tham chiếu hoặc kết quả công thức.

Mục đích

Tạo các ngày hợp lệ từ năm, tháng và ngày.

Giá trị trả về

Trả về kết quả là giá trị số của một ngày cụ thể trong Excel.

Cú pháp

= DATE (năm, tháng, ngày)

Các tham số

Năm – Năm sử dụng khi tạo ngày.

Tháng – Tháng để sử dụng khi tạo ngày.

Ngày – Ngày để sử dụng khi tạo ngày.

Lưu ý

– Hàm DATE trong Excel trả về kết quả là giá trị số của một ngày cụ thể. Định dạng kết quả một ngày để hiển thị là một ngày (gồm năm, tháng, ngày).

– Nếu năm nằm trong khoảng giữa 0 và 1900, Excel sẽ thêm 1900 vào năm.

– Tháng có thể lớn hơn 12 và nhỏ hơn 0. Nếu tháng lớn hơn 12, Excel sẽ thêm tháng vào tháng đầu tiên trong năm. Nếu tháng nhỏ hơn hoặc bằng 0, Excel sẽ trừ đi giá trị tuyệt đối của tháng cộng thêm 1 (ví dụ ABS (tháng) + 1) tính từ tháng đầu tiên của năm.

– Ngày có thể tương đối hoặc tuyệt đối. Nếu ngày lớn hơn các ngày trong tháng cụ thể, Excel sẽ thêm ngày vào ngày đầu tiên của tháng được chỉ định. Nếu ngày nhỏ hơn hoặc bằng 0, Excel sẽ trừ giá trị tuyệt đối của ngày và cộng thêm 1 (ví dụ ABS (ngày) + 1) tính từ ngày đầu tiên của tháng được chỉ định.

Giải thích:

Nếu muốn đánh dấu các ngày lớn hơn hoặc nhỏ hơn một ngày cụ thể với định dạng có điều kiện, bạn có thể sử dụng công thức đơn giản dựa trên hàm DATE. Ví dụ, nếu bạn có ngày trong các ô B4: G11 và làm nổi bật các ô chứa ngày lớn hơn ngày 1/8/2015, chọn phạm vi và tạo quy tắc CF mới sử dụng công thức này:

Sau khi lưu rule, bạn sẽ nhìn thấy các ngày lớn hơn ngày 8/1/2015 được đánh dấu.

Ý nghĩa công thức:

Hàm DATE tạo một ngày hợp lệ trên Excel với các giá trị năm, tháng, và ngày. Sau đó, chỉ đơn giản là vấn đề so sánh mỗi ngày trong phạm vi với ngày được tạo bằng hàm DATE. Tham chiếu B4 hoàn toàn tương đối, vì vậy sẽ cập nhật theo rule được áp dụng cho mỗi ô trong vùng và bất kỳ ngày nào lớn hơn 8/1/2015 sẽ được đánh dấu.

So sánh lớn hơn hoặc bằng:

Bạn có thể sử dụng tất cả các toán tử tiêu chuẩn trong công thức này để điều chỉnh hành vi nếu cần. Ví dụ, để làm nổi bật tất cả các ngày lớn hơn hoặc bằng ngày 8/1/2015, sử dụng công thức:

Sử dụng một ô khác để làm đầu vào:

Không cần mã hóa ngày tháng vào rule. Để tạo ra một rule tương tác linh hoạt hơn, sử dụng một ô khác làm biến trong công thức. Ví dụ, nếu muốn sử dụng ô C2 làm ô đầu vào, đặt tên cho ô C2 “input”, nhập ngày và sử dụng công thức này:

Sau đó thay đổi ngày trong ô C2 thành bất kỳ thứ gì bạn muốn và rule định dạng có điều kiện sẽ phản hồi ngay lập tức.

– Ví dụ 2: Lấy ngày cuối cùng của tháng Công thức chung:

=EOMONTH(date,0)

Giải thích:

Cách dễ nhất để tính ngày cuối cùng của tháng là sử dụng hàm EOMONTH.

Trong ví dụ trên, công thức trong ô B5 là:

=EOMONTH(B5,0)

Ý nghĩa công thức:

Đối số thứ 2 (tháng) của hàm EOMONTH cho phép bạn lấy được ngày cuối cùng trong những tháng tiếp theo hoặc trong tháng trước. Khi bạn sử dụng số 0 trong nhiều tháng, EOMONTH sẽ trả lại kết quả vào ngày cuối cùng trong tháng đó.

Để lấy ngày cuối cùng của tháng trước, sử dụng công thức:

=EOMONTH(date,-1)

Để lấy ngày cuối cùng của tháng tiếp theo, sử dụng công thức:

=EOMONTH(date,1)

Giải pháp thay thế thông minh:

Nếu bạn là người thích xây dựng các công thức thông minh để phân loại, bạn cũng có thể sử dụng hàm DATE trong Excel để lấy ngày cuối cùng của tháng:

=DATE(YEAR(date),MONTH(date)+1,0)

Thủ thuật với công thức này là cung cấp số 0 làm đối số ngày. Khi bạn cung cấp số 0 làm đối số ngày trong hàm DATE, hàm date sẽ quay trở lại ngày đầu tiên của tháng trước cho đến ngày cuối cùng của tháng đó. Vì vậy, bằng cách cộng thêm 1 vào đối số tháng, và sử dụng 0 cho đối số ngày, hàm DATE cuộn lại cho ngày cuối cùng của tháng “ban đầu”.

– Ví dụ 3: Bôi đen các ngày có cùng tháng và năm Công thức chung:

=TEXT(A1,”myyyy”)=TEXT(date,”myyyy”)

Giải thích:

Nếu muốn sử dụng định dạng có điều kiện để đánh dấu các ngày cùng tháng cùng năm với nhau, bạn có thể sử dụng công thức đơn giản dựa trên hàm TEXT.

=TEXT(B4,”myyyy”)=TEXT(DATE(2015,6,1),”myyyy”)

Sau khi lưu rule, bạn sẽ nhìn thấy tất cả các ngày cùng tháng 6 năm 2015 được đánh dấu.

Ý nghĩa công thức:

Công thức này sử dụng hàm TEXT để ghép tháng và năm của mỗi ngày. Sau đó, 2 ngày được kiểm tra sự bình đẳng. TEXT là một hàm hữu ích cho phép bạn chuyển đổi một số thành văn bản ở định dạng văn bản mà bạn chọn. Trong trường hợp này định dạng là định dạng ngày tùy chỉnh “myyyy”, có nghĩa là đối số tháng không có số 0 ở đầu và đối số năm có 4 chữ số. Ví dụ, nếu A1 chứa ngày 9/6/2015, TEXT (A1, “myyyy”) sẽ tạo chuỗi văn bản “62016”.

Sử dụng các ô khác cho đầu vào:

Bạn không cần mã hoá một ngày vào rule. Để tạo rule linh hoạt hơn, bạn có thể sử dụng các ô khác làm biến. Ví dụ, nếu bạn đặt tên cho ô E2 là “date”, bạn có thể viết lại công thức như sau:

=TEXT(B4,”myyyy”)=TEXT(date,”myyyy”)

Và bất cứ khi nào bạn thay đổi ngày trong E2, rule định dạng có điều kiện sẽ cập nhật ngay lập tức. Điều này đơn giản hóa công thức và giúp bạn đọc dễ hơn.

Giải thích:

Để tính tổng các giá trị giữa 2 ngày, bạn có thể sử dụng hàm SUMIFS. Trong ví dụ trên, ô H5 sử dụng công thức này:

Công thức này tính tổng số tiền trong cột D khi một ngày trong cột C nằm giữa một ngày trong cột H5 và một ngày trong cột H6. Trong ví dụ, H5 chứa ngày 15/9/2015 và H6 chứa ngày 15/10 /2015.

Để ghép khớp ngày giữa hai giá trị, chúng ta phải sử dụng hai tiêu chí. SUMIF yêu cầu mỗi tiêu chí phải được nhập dưới dạng một vùng tiêu chuẩn:

Lưu ý rằng phải bao gồm các toán tử logic trong ngoặc kép (“”) sau đó nối ghép các tham chiếu ô sử dụng dấu và (&).

– Ví dụ 5: Tính số ngày trong năm Công thức chung:

=date-DATE(YEAR(date),1,0)

Giải thích:

Nếu muốn tính số ngày từ một định dạng ngày cụ thể (tức là ngày thứ bao nhiêu trong năm), bạn có thể sử dụng công thức sử dụng kết hợp các hàm DATE và YEAR.

Ví dụ: với ngày 1/6/2016 trong ô B4, sử dụng công thức sau sẽ trả lại kết quả 153:

=B4-DATE(YEAR(B4),1,0)

Và ngày 1/6/2016 là ngày thứ 153 trong năm 2016.

Ý nghĩa của công thức:

Công thức này tận dụng lợi thế đó là thực tế ngày tháng chỉ là các số liên tiếp trong Excel. Nó xác định ngày cuối cùng của năm trước và trừ đi kết quả ngày ban đầu trong ô B4. Kết quả trả lại là ngày thứ bao nhiêu trong năm.

Lưu ý đối số ngày trong hàm DATE được cung cấp bằng 0. Hàm DATE còn có chức năng là có thể xử lý các giá trị DAY nằm ngoài phạm vi và điều chỉnh kết quả phù hợp.

Tính số ngày đến ngày hiện tại trong năm

Để điều chỉnh công thức trả lại kết quả tính số ngày kể từ ngày thứ n trong năm cho ngày hiện tại, chỉ cần sử dụng hàm TODAY:

=TODAY()-DATE(YEAR(TODAY()),1,0)

– Ví dụ 6: Chuyển đổi định dạng dd/mm/yy (ngày/tháng/năm) thành mm/dd/yy (tháng/ngày/năm) Công thức chung:

=DATE(RIGHT(A1,2)+2000,MID(A1,4,2),LEFT(A1,2))

Giải thích:

Để chuyển đổi định dạng ngày tháng từ định dạng dd/mm/yy (ngày/tháng/năm) sang mm/dd/yy (tháng/ngày/năm), bạn có thể sử dụng công thức dựa trên hàm DATE. Trong ví dụ trên, công thức trong ô C5 là:

=DATE(RIGHT(B5,2)+2000,MID(B5,4,2),LEFT(B5,2))

Chuyển đổi các giá trị văn bản trong B5 29/02/16 thành một định dạng ngày thích hợp trên Excel.

Ý nghĩa của công thức:

Giá trị cốt lõi của công thức này là hàm DATE, được sử dụng để ghép một giá trị ngày thích hợp trên Excel. Hàm DATE yêu cầu giá trị năm, tháng và ngày hợp lệ, vì vậy chúng được phân tích cú pháp từ chuỗi văn bản ban đầu như sau:

Giá trị năm được trích bằng hàm RIGHT:

RIGHT(B5,2)+2000

Hàm RIGHT nhận được nhiều nhất 2 ký tự từ giá trị gốc. Số 2000 được thêm vào kết quả để tạo ra năm hợp lệ. Số này làm đối số năm trên hàm DATE.

Giá trị tháng được trích bằng:

MID (B5,4,2)

MID lấy 4-5 ký tự. Kết quả được đưa vào hàm DATE làm đối số tháng.

Giá trị ngày được trích bằng:

LEFT (B5,2)

LEFT lấy 2 ký tự cuối cùng của giá trị văn bản gốc, đưa vào hàm DATE làm đối số ngày.

Ba giá trị được trích ở trên được đưa vào hàm DATE như sau:

= DATE (2016, “02”, “29”)

Mặc dù tháng và ngày được cung cấp dưới dạng văn bản, hàm DATE sẽ tự động chuyển đổi sang số và trả về kết quả ngày hợp lệ.

Lưu ý: giá trị năm 2016 đã được tự động chuyển đổi thành số khi thêm 2000 vào.

Thêm vấn đề về dấu cách:

Nếu giá trị văn bản gốc ban đầu chứa thêm dấu cách ở đầu hoặc cuối, bạn có thể sử dụng thêm hàm TRIM để xóa:

=DATE(RIGHT(TRIM(A1),2)+2000,MID(TRIM(A1),4,2),LEFT(TRIM(A1),2))

– Ví dụ 7: Tạo hàng loạt ngày giống nhau, chỉ khác năm Công thức chung:

=DATE(YEAR(date)+1,MONTH(date),DAY(date))

Giải thích:

Nếu cần tạo một loạt ngày tháng giống nhau, có số năm tăng dần, bạn có thể sử dụng công thức có các hàm DAY, MONTH, YEAR, và DATE.

Ý nghĩa công thức:

Trong ví dụ trên, ngày trong ô B6 là ngày bắt đầu và công thức trong ô B7 là:

= DATE (YEAR (B6) + 1, MONTH (B6), DAY (B6))

Để giải quyết công thức này, Excel sẽ trích giá trị năm, tháng và ngày từ ngày bắt đầu trong ô B6, sau đó cộng thêm 1 vào giá trị năm. Tiếp theo, ngày kế tiếp được lặp lại bằng cách sử dụng DATE, sử dụng cùng một ngày và tháng, và và công thêm 1 vào năm.

= DATE (YEAR (B6) + 1, MONTH (B6), DAY (B6))

= DATE (2010 + 1,1,15)

= DATE (2011,1,15)

= 1/15/2011

Công thức đầu tiên sẽ trả về kết quả một định dạng ngày mới 1/15/2011, số năm nhiều hơn 1 năm từ định dạng ban đầu .

Sau khi nhập công thức đầu tiên, bạn có thể sao chép công thức xuống các ô tiếp theo. Mỗi công thức tiếp theo tạo ra một định dạng ngày mới có số năm tăng dần.

=DATE(YEAR(date)+1,1,1)

– Ví dụ 8: Tạo hàng loạt ngày và năm giống nhau, chỉ khác tháng Công thức chung:

=DATE(YEAR(date),MONTH(date)+1,DAY(date))

Giải thích:

Nếu muốn tạo một loạt ngày có công thức tăng dần các tháng, nhưng ngày và năm giống nhau bạn có thể sử dụng các hàm DAY, MONTH, YEAR và DATE.

Ý nghĩa công thức:

Trong ví dụ trên, định dạng ngày trong ô B6 là ngày bắt đầu và công thức sử dụng trong ô B7 là:

=DATE(YEAR(B6),MONTH(B6)+1,DAY(B6))

Để giải quyết công thức này, Excel sẽ trích giá trị năm, tháng và ngày từ ngày bắt đầu trong ô B6, sau đó cộng thêm 1 vào giá trị tháng. Tiếp theo, ngày kế tiếp được lặp lại bằng cách sử dụng DATE, sử dụng cùng một ngày và năm, và và cộng thêm 1 vào giá trị tháng.

=DATE(YEAR(B6),MONTH(B6)+1,DAY(B6))

=DATE(2010,1+1,15)

=DATE(2010,2,15)

=2/15/2010

Công thức đầu tiên sẽ trả về kết quả một định dạng ngày mới 2/15/2010, số tháng nhiều hơn 1 lần số tháng từ định dạng ban đầu.

Sau khi nhập công thức đầu tiên, bạn có thể sao chép công thức ở các ô tiếp theo. Mỗi công thức tiếp theo tạo ra một định dạng ngày mới có giá trị tháng tăng dần.

Lưu ý: nếu định dạng ngày bắt đầu từ 31/1, công thức trên sẽ bỏ qua tháng 2 và chuyển tiếp sang tháng 3. Lý do là vì không có ngày 2/31/2010, do đó Excel sử dụng giá trị ngày để chuyển sang ngày 3/3/2010.

= EOMONTH (B6,1)

Giải thích:

Nếu muốn tính tổng theo năm, bạn có thể sử dụng hàm SUMIFS với 2 tiêu chí.

Trong ví dụ trên, công thức trong ô C6 là:

Kết quả là tổng số tiền trong năm 2011. Bạn có thể sao chép công thức để tính tổng số tiền cho năm 2012 và 2013.

Ý nghĩa công thức:

Đối số đầu tiên của SUMIFs là phạm vi tổng (“sum_range”), và các tiêu chí được cung cấp dưới dạng một hoặc nhiều cặp vùng tiêu chuẩn.

Trong ví dụ này, phạm vi tổng là một vùng có tên gọi “amount” (E3:E2931), và các tiêu chí được cung cấp theo hai cặp, cả hai đều sử dụng một vùng có tên gọi là “date” (B3: B2931).

Trong mỗi trường hợp, hàm DATE được sử dụng trong các tiêu chí để xây dựng 2 định dạng ngày hợp lệ, cả hai đều sử dụng cùng một năm:

1. Ngày đầu tiên của năm 2011

2. Ngày cuối cùng của năm 2011

Kết quả công thức trả về là tổng số tiền tất cả các khoản chỉ trong năm 2011.

Vì đang sử dụng một tham chiếu ô để cung cấp kết quả cho một năm, bạn cùng có thể sao chép công thức để tính tổng giá trị cho các năm 2012 và 2013.

Giải thích:

Để tính tổng giá trị các ngày khác nhau, bạn có thể sử dụng hàm SUMIF.

Trong ví dị trên, công thức trong ô H5 là:

Công thức này tính tổng số tiền trong cột D khi ngày trong cột C lớn hơn ngày 1/10/2015.

Lưu ý rằng phải bao gồm các toán tử logic trong ngoặc kép (“”) sau đó nối ghép các tham chiếu ô sử dụng dấu và (&).

Ngày là tham chiếu ô

Nếu bạn muốn hiển thị ngày trên bảng tính để có thể dễ dàng thay đổi, bạn sử dụng công thức này:

Trong đó A1 là tham chiếu đến ô có chứa ngày hợp lệ.

Hàm SUMIFS thay thế:

Ngoài ra bạn cũng có thể sử dụng hàm SUMIFS. Hàm SUMIFS có thể xử lý nhiều tiêu chí, và thứ tự của các đối số khác với SUMIF. Công thức hàm SUMIFS tương đương là:

Lưu ý rằng phạm vi tổng hợp luôn đứng đầu tiên trong hàm SUMIFS.

– Ví dụ 11: Chuyển đổi văn bản thành ngày Công thức chung:

=DATE(LEFT(text,4),MID(text,5,2),RIGHT(text,2))

Giải thích:

Để chuyển đổi văn bản ở định dạng ngày không phù hợp thành định dạng ngày phù hợp trên Excel, bạn có thể phân tích cú pháp văn bản và ghép thành một ngày phù hợp với công thức dựa trên một số hàm như: DATE, LEFT, MID và hàm RIGHT.

Lưu ý: Trước khi bạn sử dụng công thức, tham khảo một số cách khác bên dưới để kiểm tra Excel phát hiện ra các văn bản và ngày không có công thức.

Trong ví dụ được trên, công thức trong ô C6 là:

=DATE(LEFT(B6,4),MID(B6,5,2),RIGHT(B6,2))

Công thức này trích các giá trị năm, tháng và ngày tách biệt, và sử dụng hàm DATE để tập hợp cvào ngày 24 /10/2000.

Excel sẽ không nhận ra các giá trị văn bản này là định đạng ngày, do đó, để tạo một ngày hợp lệ, bạn cần phải phân tích cú pháp văn bản thành các thành phần (năm, tháng, ngày) và sử dụng các thành phần này để tạo một ngày bằng hàm DATE.

Ý nghĩa công thức:

Hàm DATE lấy 3 đối số: năm, tháng và ngày. Hàm LEFT trích 4 ký tự còn lại và cung cấp làm đối số năm cho hàm DATE. Hàm MID trích 5-6 ký tự và lấy các ký tự này là đối số tháng, ngày cho hàm DATE, và hàm RIGHT trích 2 ký tự bên phải và cung cấp đối số ngày cho hàm DATE. Kết quả cuối cùng là một định dạng ngày hợp lệ trên Excel, có thể được định dạng bằng bất kỳ định dạng nào mà bạn muốn.

Ví dụ khác:

Trong hàng số 8, định dạng ngày là chúng tôi (ngày. tháng. năm) không được Excel công nhận, và công thức trong C8 là:

=DATE(RIGHT(B8,4),MID(B8,4,2),LEFT(B8,2))

Thêm số 0 để chuyển đổi định dạng văn bản thành định dạng ngày:

Trong một số trường hợp bạn sẽ nhận thấy rằng có định dạng văn bản mà Excel sẽ nhận ra. Trong trường hợp nàu bạn có thể buộc Excel chuyển đổi các giá trị văn bản thành định dạng ngày tháng bằng cách thêm số 0 vào giá trị. Khi bạn thêm số 0, Excel sẽ cố gắng buộc các giá trị văn bản thành các con số.

Để chuyển đổi định dạng văn bản thành định dạng ngày bằng cách thêm số 0, bạn sử dụng Paste Special:

Bước 1: Thêm số 0 vào ô không sử dụng và sao chép vào clipboard.

Bước 2: Chọn ngày bị lỗi.

Để chuyển đổi các ngày bằng cách thêm số 0 bằng cách sử dụng công thức:

=A1+0

Trong đó A1 có chứa định dạng ngày không hợp lệ.

Chuyển đổi Text thành Column:

Một cách khác để Excel nhận biết định dạng ngày tháng là sử dụng text thành các tính năng column:

Đôi khi bạn có thể sử dụng giải pháp này để sửa mọi thứ cùng một lúc.

Giải thích:

Lưu ý: Excel được tích hợp một số quy tắc xác nhận dữ liệu hợp lệ cho định dạng ngày tháng.

Để cho phép người dùng chỉ nhập đối số ngày giữa hai ngày, bạn có thể xác nhận dữ liệu bằng một công thức tùy chỉnh dựa trên hàm AND.

Trong ví dụ trên, việc xác nhận dữ liệu được áp dụng cho C5: C9 là:

Ý nghĩa công thức:

Các quy tắc xác nhận dữ liệu được kích hoạt khi người dùng thêm hoặc thay đổi giá trị trong ô.

Hàm AND lấy nhiều đối số (logic) và trả về kết quả TRUE chỉ khi tất cả các đối số trở về TRUE. Hàm DATE tạo ra một ngày hợp lệ trên Excel với các giá trị năm, tháng, và năm.

Nếu chỉ muốn cho phép định dạng ngày tháng trong tháng 6 năm 2016, bạn sử dụng hàm AND với 2 đối số.

Đối số đầu tiên kiểm tra đầu vào C5 lớn hơn hoặc bằng ngày 1/6/2016:

Đối số thứ 2 kiểm tra tính hợp lý đầu vào C5 nhỏ hơn hoặc bằng ngày 30/6/2016:

Nếu cả hai điều kiện là TRUE, hàm AND trả về kết quả TRUE và đầu vào xác nhận hợp lệ. Nếu một trong hai điều kiện là FALSE, và kết quả trả về FALSE và đầu vào dữ liệu không thành công.

– Ví dụ 13: Thêm năm vào ngày Công thức chung:

=DATE(YEAR(date)+years,MONTH(date),DAY(date))

Giải thích:

Để thêm năm cho một ngày cụ thể, bạn có thể sử dụng công thức dựa trên hàm DATE kết hợp với các hàm YEAR, MONTH, DAY.

Trong ví dụ trên, công thức trong ô D5 là:

=DATE(YEAR(B5)+C5,MONTH(B5),DAY(B5))

Ý nghĩa công thức:

Làm việc từ trong ra ngoài, các hàm YEAR, MONTH, DAY trích các thành phần ngày tương ứng:

=YEAR(B5)

=MONTH(B5)

=DAY(B5)

Xét về mặt bề ngoài hàm DATE chỉ đơn giản gộp các giá trị của thành phần thành một định dạng ngày Excel hợp lệ. Để thêm năm cho một ngày cụ thể, bạn chỉ cần thêm giá trị trong C5 vào thành phần năm trước khi gộp:

=DATE(YEAR(B5)+C5,MONTH(B5),DAY(B5))

Công thức có dạng như sau:

=DATE(1960+10,3,8)

=DATE(1970,3,8)

=8-Mar-1970

https://thuthuat.taimienphi.vn/ham-date-trong-excel-cach-su-dung-cau-truc-ham-23781n.aspx

Cấu Trúc Rẽ Nhánh Switch … Case Trong Ngôn Ngữ C++

C/C++ cung cấp cho chúng ta 1 số cấu trúc rẽ nhánh cho chương trình trong đó có switch … case để giải quyết các logic.

switch so sánh 1 biểu thức nguyên với 1 danh sách giá trị các số nguyên, các hằng kí tự hoặc biểu thức hằng. Mỗi giá trị trong danh sách chính là 1 case (trường hợp) trong khối lệnh của switch.

Trong khối lệnh switch còn có thể có 1 default case (trường hợp mặc định) có thể có hoặc không. Mặt khác, trong mỗi trường hợp còn chứa các khối lệnh chờ được thực thi.

Cú pháp của cấu trúc rẽ nhánh switch…case

Muốn sử dụng cấu trúc switch … case, sử dụng cú pháp sau:

switch (expression) { case constant_1: { Statements; break; } case constant_2: { Statements; break; } . . . case constant_n: { Statements; break; } default: { Statements; } }

Ví dụ:

using namespace std;

int main() { int month; cout << “Month: ” << endl;

switch (month) { case 1: { cout << “January” << endl; break; } case 2: { cout << “February” << endl; break; } case 3: { cout << “March” << endl; break; } case 4: { cout << “April” << endl; cout << “April 2” << endl; break; } case 5: { cout << “May” << endl; break; } case 6: { cout << “June” << endl; break; } case 7: { cout << “July” <<endl; break; } case 8: { cout << “August” << endl; break; } case 9: { cout << “September” << endl; cout << “September 2” << endl; break; } case 10: { cout << “October” << endl; break; } case 11: { cout << “November” << endl; break; } case 12: { cout << “December” << endl; break; } default: { cout << “Input is false” << endl; } }

return 0; }

Nguyên tắc hoạt động cấu trúc switch…case

Biểu thức nguyên trong switch được tính toán và kiểm tra lần lượt với giá trị của từng case.

Đầu tiên, nó sẽ được so sánh với giá trị của case đầu tiên, nếu bằng nhau thì sẽ thực hiện các lệnh (statement) trong case này cho đến khi nó gặp được từ khoá break.

Ngược lại, nếu như giá trị biểu thức nguyên không bằng giá trị case đầu tiên thì nó sẽ tiếp tục so sánh đến giá trị của case thứ hai và tiếp tục thực hiện như những bước trên. Giả sử, đến cuối cùng vẫn không tìm được giá trị bằng nó thì các khối lệnh trong default sẽ được thực hiện nếu như có tồn tại default.

Khi cấu trúc switch … case kết thúc, chương trình sẽ thực hiện tiếp những dòng lệnh sau cấu trúc switch … case.

Ta có sơ đồ hoạt động của cấu trúc switch… case như sau:

Sơ đồ cấu trúc switch … case

1 số lưu ý khi dùng cấu trúc rẽ nhánh chúng tôi

Các giá trị của mỗi case phải cùng kiểu dữ liệu với giá trị của biểu thức được so sánh.

Số lượng các case là không giới hạn nhưng chỉ có thể có duy nhất 1 default.

Giá trị của các case là 1 hằng số và các giá trị của các case phải khác nhau.

Từ khóa break có thể sử dụng hoặc không.

Nếu không được sử dụng thì chương trình sẽ không kết thúc cấu trúc switch … case khi đã thực hiện hết khối lệnh của case đó. Thay vào đó, nó sẽ thực hiện tiếp các khối lệnh tiếp theo cho đến khi gặp từ khoá break hoặc dấu } cuối cùng của cấu trúc switch … case. Vì vậy, các bạn có thể sử dụng 1 khối lệnh cho nhiều trường hợp khác nhau.

Ví dụ:

using namespace std;

int main() { int month, day; cout << “Month: ” << endl;

switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: { day = 30; break; } case 4: case 6: case 9: case 11: { day = 31; break; } default: { day = 28; } }

return 0; }

Nhập Xuất Cơ Bản Trong C Và C++

C và C++ có sự khác nhau trong nhập xuất dữ liệu lên màn hình. Trong khi C cung cấp hàm printf() và scanf() dùng xuất và nhập có định dạng thì C++ cung cấp các luồng nhập, xuất là cin, cout.

Để sử dụng được printf() và scanf() trong C, bạn phải khai báo thư viện stdio.h. Hai hàm này có thể in và đọc dữ liệu nhập từ màn hình theo các định dạng khác nhau được điều khiển bởi người dùng nên được gọi là các hàm nhập xuất có định dạng.

Hàm printf Cú pháp: printf("chuỗi điều khiển", danh sách tham số); Hàm printf() được dùng để hiển thị dữ liệu trên thiết bị xuất chuẩn – console. Danh sách tham số có thể là hằng, biến, biểu thức hay lời gọi hàm và được phân cách bởi dấu phẩy. Mỗi tham số cần có một mã định dạng tương ứng kiểu dữ liệu trong chuỗi điều khiển. Mã định dạng này còn gọi là đặc tả. Một đặc tả gồm dấu % và theo sau là các ký tự c, d, f, lf, … tương ứng kiểu dữ liệu của tham số.

Ngoài ra trong chuỗi điều khiển còn có thể chứa các lệnh điều khiển theo sau dấu hoặc %. Ví dụ: n để xuống dòng, \ để in ký tự , t để in tab, %% để in dấu %, …

int a = 1, b = 2; printf("Kết quả: %dn", a+b); printf("Cách "); printf("khác:n"); printf("%d + %d = %dn", a, b, a+b);

Ví dụ: %10.2f quy định việc in một biến thực với độ rộng 10 và 2 chữ số thập phân. Có thể thêm “-” trước độ rộng để canh lề trái, ví dụ: %-10.2f. Dấu % và ký tự đặc tả là bắt buộc phải có còn các phần khác có thể có hay không tuỳ định dạng của người dùng.

Hàm scanf Cú pháp: scanf("chuỗi điều khiển", danh sách tham số); Chuỗi điều khiển trong hàm scanf() tương tự như printf(). Danh sách tham số trong hàm scanf() yêu cầu một địa chỉ, vì vậy ta phải thêm toán tử & vào trước tên biến để lấy địa chỉ của biến đó. Nếu biến là một con trỏ thì mặc định đã chứa địa chỉ cần trỏ đến nên không cần toán tử &.

int a; float b; scanf("%d%f", &a, &b);

Với C++, các luồng nhập xuất cơ bản cin, cout nằm trong namespace std. Vì vậy, muốn sử dụng chúng ta phải gọi std::cin hoặc std::cout. Để đơn giản hoá, ta khai báo lệnh: using namespace std; để không phải gọi namespace std trước các luồng này nữa.

int a, b; int a, b;

cout Cú pháp:cout << chuỗi định dạng << chuỗi định dạng << ... << chuỗi định dạng; Hiểu đơn giản là xuất ra thiết bị xuất chuẩn (màn hình) chuỗi định dạng. Có thể thay thế chuỗi định dạng bằng một biến, hằng, biểu thức hay lời gọi hàm để xuất giá trị của nó. Chuỗi định dạng cũng có thể thay thế bằng endl để xuống dòng hoặc đặt n vào chuỗi định dạng cũng có tác dụng tương tự.

int a = 1, b = 2; cout << "Kết quả: " << a+b << endl; cout << "Cách "; cout << "khác: n"; cout << a << " + " << b << " = " << a+b ;

Cập nhật thông tin chi tiết về Cấu Trúc Của Hàm Cơ Bản Trong C# trên website 2atlantic.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!