Skip to main content

Excel Conditional Logic - Part 1

 
Excel has a number of logical functions which allows you to set various "conditions" and have data respond to them. For example, you may only want a certain calculation performed or piece of text displayed if certain conditions are met. To start using Functions in Excel you need to
Open Excel => Click in a cell => Click on Insert Menu button =>  Function 

 
Lets consider a simple example. When we are in a restaurant and have X amount of money, we compare that the dish we select costs less than or equal to the amount we have (in this case X amount). Your selection is based on the condition that the price of the dish should be less than X amount. We can do similar calculations in Excel.  

IF STATEMENT
The IF function is used to analyze data, test whether or not it meets certain conditions and then act upon its decision

IF statement is accompanied by three arguments enclosed in one set of parentheses; the condition to be met (logical_test); the action to be performed if that condition is true (value_if_true); the action to be performed if false (value_if_false). Each of these is separated by a comma, as shown;
=IF ( logical_test, value_if_true, value_if_false)

For your example above we will do the following calculation
= IF ( X >= DISH_PRICE , BUY , DON'T BUY )

In the Logical test : X >= DISH_PRICE, we are saying that if X (amount we have) is greater than or equal to DISH_Price, then 'BUY'; if not 'DON'T BUY'

Note: We can also use the following symbols if we want to do other comparizons
> Greater than
< Less than
> = Greater than or equal to
< = Less than or equal to
= Equal to
< > Not equal to

NESTED IF
When you need to have more than one condition and more than two possible outcomes, a NESTED IF is
required. This is based on the same principle as a normal IF statement, but involves "nesting" a secondary
formula inside the main one. The secondary IF forms the FALSE part of the main statement, as follows;
=IF(1st logic test , 1st true value , IF(2nd logic test , 2nd true value , false value))

Only if both logic tests are found to be false will the false value be returned. Notice that there are two sets
of parentheses, as there are two separate IF statements. This process can be enlarged to include more
conditions and more eventualities ‐ up to seven IF's can be nested within the main statement. However,
care must be taken to ensure that the correct number of parentheses are added.

 
In the example, sales staff could now receive one of three possible ratings;
=IF(B2>1000,"GOOD",IF(B2<600,"POOR","AVERAGE"))

To make the above IF statement more flexible, the logical tests could be amended to measure sales against
cell references instead of figures. In the example, column E has been used to hold the upper and lower
sales thresholds.

=IF(B2>$E$2,"GOOD",IF(B2<$E$3,"POOR","AVERAGE"))
(If the IF statement is to be copied later, this cell reference should be absolute).

We have other conditional statements 'AND, OR, NOT' that we can use in Excel. These are covered in Excel Conditional Logic - Part 2

Comments

Popular posts from this blog

Insufficient access rights to perform the operation. (Exception from HRESULT: 0x80072098)

While accessing the active directory (AD) and authorization manager (AZMAN) , If you get “   Insufficient access rights to perform the operation. (Exception from HRESULT: 0x80072098)  “ message check the    account that is being used to get the LDAP query from AD .  ERROR DETAILS Exception Details:  System.Runtime.InteropServices.COMException: Insufficient access rights to perform the operation. (Exception from HRESULT: 0x80072098) Source Error: Line 154:    'Session("FullName") = System.Security.Principal.WindowsIdentity.GetCurrent.Name.ToString() Line 155: Line 156:    If Not User.IsInRole("Role1") Then Line 157:          Response.Redirect("./Login.aspx") Line 158:    End If  Stack Trace : .... SOLVE IT Steps to do check the app pool rights: Click on the website name that you are having problem with in IIS  In the right panel you will see 'Basic Settings'. Click It. Select the specific pool option and enter the name of the ac

Sql Server database Read_Only / Read_Write

The ALTER DATABASE command allows a database administrator to modify SQL Server databases and their files and filegroups. This includes permitting the changing of database configuration options. Why Read Only ? When you need to ensure that the data is a database is not modified by any users or automated processes, it is useful to set the database into a read-only mode. Once read-only, the data can be read normally but any attempts to create, updated or delete table rows is disallowed. This makes the read-only mode ideal when preparing for data migration, performing data integrity checking or when the data is only required for historical reporting purposes. Make Database Read Only USE  [master] GO ALTER DATABASE  [TESTDB]  SET  READ_ONLY  WITH  NO_WAIT GO Make Database Read/Write USE  [master] GO ALTER DATABASE  [TESTDB]  SET  READ_WRITE  WITH  NO_WAIT GO In case you get the following error message make the database single user: Msg 5070, Level 16, Stat

Do's and Don't SQL

Do's: Writing comments whenever something is not very obvious, as it won’t impact the performance.  (--) for single line  (/*…*/) to mark a section Use proper indentation Use Upper Case for all SQL keywords. SELECT, UPDATE, INSERT, WHERE, INNER JOIN, AND, OR, LIKE. Use BEGIN... END block for multiple statements in conditional code  Use Declare and Set in beginning of Stored procedure Create objects in same database where its relevant table exists otherwise it will reduce network performance. Use PRIMARY key in WHERE condition of UPDATE or DELETE statements as this will avoid error possibilities. If User table references Employee table than the column name used in reference should be UserID where User is table name and ID primary column of User table and UserID is reference column of Employee table. Use select column name instead of select * Use CTE (Common Table Expression); its scope is limited to the next statement in SQL query, instead of temporary tables and der