0% found this document useful (0 votes)
36 views

Excel Formulas

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Excel Formulas

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

# [ Excel Advanced Functions and Formulas ] CheatSheet

1. Advanced Lookup Functions

● Index-Match: =INDEX(return_range,MATCH(lookup_value,lookup_range,0))
● Double Index-Match:
=INDEX(return_range,MATCH(row_value,row_lookup,0),MATCH(col_value,c
ol_lookup,0))
● Multi-criteria Index-Match:
=INDEX(return_range,MATCH(1,(criteria1=range1)*(criteria2=range2),0
))
● Offset-Match:
=OFFSET(reference,MATCH(lookup_value,lookup_range,0)-1,0)
● Xlookup basic: =XLOOKUP(lookup_value,lookup_array,return_array)
● Xlookup with not found:
=XLOOKUP(lookup_value,lookup_array,return_array,"Not Found")
● Xlookup exact match:
=XLOOKUP(lookup_value,lookup_array,return_array,,-1)
● Xlookup wildcard:
=XLOOKUP("*"&lookup_value,lookup_array,return_array)
● Xlookup multiple returns:
=XLOOKUP(lookup_value,lookup_array,{return_array1,return_array2})
● Xlookup reverse lookup:
=XLOOKUP(lookup_value,lookup_array,return_array,,,-1)

2. Array Formulas

● Sum array: =SUM(IF(criteria_range=criteria,sum_range))


● Count array: =SUM(IF(criteria_range=criteria,1))
● Average array: =AVERAGE(IF(criteria_range=criteria,average_range))
● Multi-condition array:
=SUM(IF((criteria1_range=criteria1)*(criteria2_range=criteria2),sum
_range))
● Unique values array: =UNIQUE(range)
● Sort array: =SORT(range,[sort_column],[sort_order],by_col)
● Filter array: =FILTER(range,criteria_range=criteria)
● Sequence generation: =SEQUENCE(rows,[columns],[start],[step])
● Array spill: =range#
● Dynamic array expansion: =INDIRECT("A1:A"&COUNTA(A:A))

By: Waleed Mousa


3. Text Functions

● Extract first word: =LEFT(A1,FIND(" ",A1&" ")-1)


● Extract last word: =RIGHT(A1,LEN(A1)-FIND("~",SUBSTITUTE(A1,"
","~",LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))
● Extract nth word: =TRIM(MID(SUBSTITUTE(A1," ",REPT("
",100)),((n-1)*100)+1,100))
● Case-sensitive find: =FIND(find_text,within_text)
● Case-insensitive find: =SEARCH(find_text,within_text)
● Replace multiple instances:
=SUBSTITUTE(text,old_text,new_text,instance_num)
● Clean text: =CLEAN(TRIM(text))
● Proper case with exceptions: =IF(ISNUMBER(SEARCH("
mc",LOWER(A1))),PROPER(A1),PROPER(SUBSTITUTE(A1," mc"," Mc")))
● Remove special characters: =REGEXREPLACE(A1,"[^a-zA-Z0-9]","")
● Extract numbers from text: =--REGEXREPLACE(A1,"[^0-9.]","")

4. Date and Time Functions

● Last day of month: =EOMONTH(date,0)


● First day of month: =EOMONTH(date,-1)+1
● First day of next month: =EOMONTH(date,0)+1
● Next occurrence of day: =date+MOD(target_day-WEEKDAY(date),7)
● Working days calculation: =NETWORKDAYS(start_date,end_date,holidays)
● Add working days: =WORKDAY(start_date,num_days,holidays)
● Fiscal year start:
=DATE(YEAR(date)+(MONTH(date)>fiscal_month),fiscal_month,1)
● Quarter from date: =ROUNDUP(MONTH(date)/3,0)
● Week number: =WEEKNUM(date,[return_type])
● ISO week number: =ISOWEEKNUM(date)

5. Math and Statistical Functions

● Weighted average: =SUMPRODUCT(range,weights)/SUM(weights)


● Percentile calculation: =PERCENTILE.INC(range,k)
● Mode multiple values: =MODE.MULT(range)
● Median excluding zeros: =MEDIAN(IF(range<>0,range))
● Moving average: =AVERAGE(OFFSET(cell,0,0,n,1))
● Exponential moving average: =α*current+(1-α)*previous
● Standard deviation sample: =STDEV.S(range)

By: Waleed Mousa


● Correlation coefficient: =CORREL(array1,array2)
● Rank with ties: =RANK.AVG(number,range,order)
● Z-score calculation: =(value-AVERAGE(range))/STDEV.P(range)

6. Logical Functions

● Nested IF:
=IF(condition1,value1,IF(condition2,value2,IF(condition3,value3,val
ue4)))
● IFS function:
=IFS(condition1,value1,condition2,value2,TRUE,default_value)
● SWITCH function:
=SWITCH(expression,value1,result1,value2,result2,default_result)
● Multiple AND conditions:
=IF(AND(condition1,condition2,condition3),value_if_true,value_if_fa
lse)
● Multiple OR conditions:
=IF(OR(condition1,condition2,condition3),value_if_true,value_if_fal
se)
● Nested AND/OR:
=IF(OR(AND(condition1,condition2),AND(condition3,condition4)),value
_if_true,value_if_false)
● XOR operation: =IF(condition1<>condition2,TRUE,FALSE)
● ISEVEN function: =IF(MOD(number,2)=0,TRUE,FALSE)
● ISODD function: =IF(MOD(number,2)=1,TRUE,FALSE)
● Complex logical test:
=IF(AND(condition1,OR(condition2,condition3)),value1,IF(AND(conditi
on4,condition5),value2,value3))

7. Financial Functions

● Net Present Value: =NPV(rate,cashflow_range)


● Internal Rate of Return: =IRR(cashflow_range,guess)
● Modified IRR: =MIRR(cashflow_range,finance_rate,reinvest_rate)
● Future Value: =FV(rate,nper,pmt,[pv],[type])
● Present Value: =PV(rate,nper,pmt,[fv],[type])
● Payment Calculation: =PMT(rate,nper,pv,[fv],[type])
● Interest Payment: =IPMT(rate,per,nper,pv,[fv],[type])
● Principal Payment: =PPMT(rate,per,nper,pv,[fv],[type])
● Depreciation SL: =SLN(cost,salvage,life)
● Depreciation DB: =DB(cost,salvage,life,period,[month])

By: Waleed Mousa


8. Database Functions

● DSUM with criteria: =DSUM(database,field,criteria)


● DCOUNT with criteria: =DCOUNT(database,field,criteria)
● DAVERAGE with criteria: =DAVERAGE(database,field,criteria)
● DMAX with criteria: =DMAX(database,field,criteria)
● DMIN with criteria: =DMIN(database,field,criteria)
● DGET unique value: =DGET(database,field,criteria)
● DVAR with criteria: =DVAR(database,field,criteria)
● DSTDEV with criteria: =DSTDEV(database,field,criteria)
● DPRODUCT with criteria: =DPRODUCT(database,field,criteria)
● Complex database query:
=DSUM(database,field,IF(criteria_range=criteria,1,0))

9. Text Parsing Functions

● Split email address: =LEFT(A1,FIND("@",A1)-1)


● Extract domain: =MID(A1,FIND("@",A1)+1,LEN(A1))
● Extract between delimiters:
=MID(A1,FIND("[",A1)+1,FIND("]",A1)-FIND("[",A1)-1)
● Phone number format: =TEXT(--REGEXREPLACE(A1,"[^0-9]",""),"(000)
000-0000")
● Clean special characters: =REGEXREPLACE(A1,"[^a-zA-Z0-9\s]","")
● Extract ZIP code: =REGEXEXTRACT(A1,"\d{5}(-\d{4})?")
● Parse CSV string:
=FILTERXML("<t><s>"&SUBSTITUTE(A1,",","</s><s>")&"</s></t>","//s[po
sition()="&n&"]")
● Extract numbers only: =--REGEXREPLACE(A1,"[^0-9.]","")
● Parse name components: =TRIM(LEFT(SUBSTITUTE(A1," ",REPT("
",100)),100))
● Format SSN: =TEXT(--REGEXREPLACE(A1,"[^0-9]",""),"000-00-0000")

10. Error Handling Functions

● Divide by zero handler: =IFERROR(A1/B1,0)


● Multiple error types:
=IF(ISERROR(A1),IF(ISNA(A1),"N/A","Error"),"Valid")
● Error with custom message: =IFERROR(VLOOKUP(...),"Not Found")
● Nested error handling: =IFERROR(IFERROR(formula1,formula2),formula3)
● Check specific error: =IF(ISERR(A1),"Error",A1)
● Safe division: =IF(B1=0,0,A1/B1)
By: Waleed Mousa
● Array error handling: =IFERROR(INDEX(range,MATCH(...)),"Not Found")
● NA error handling: =IFNA(VLOOKUP(...),"No Match")
● Error in calculation: =IFERROR(complex_calculation,"Check Input")
● Validation error: =IF(ISERROR(validation_check),"Invalid","Valid")

11. Dynamic Range Functions

● Dynamic named range: =OFFSET(start_cell,0,0,COUNTA(column),1)


● Dynamic chart range: =OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)
● Dynamic SUMIFS range:
=SUMIFS(INDIRECT("Table1[Value]"),INDIRECT("Table1[Category]"),A1)
● Dynamic VLOOKUP range:
=VLOOKUP(lookup_value,INDIRECT("A1:B"&COUNTA(A:A)),2,FALSE)
● Dynamic array expansion:
=INDIRECT("A1:A"&ROWS(A1:INDEX(A:A,MATCH("",A:A)-1)))
● Dynamic table reference:
=INDEX(table_name,SEQUENCE(ROWS(table_name)),SEQUENCE(1,COLUMNS(tab
le_name)))
● Dynamic range intersection:
=INDIRECT(ADDRESS(ROW(),COLUMN())&":"&ADDRESS(ROW()+n,COLUMN()))
● Dynamic range union: =CHOOSE({1,2},range1,range2)
● Dynamic cross-worksheet reference:
=INDIRECT("'"&sheet_name&"'!"&cell_reference)
● Dynamic array formula:
=FILTER(range,criteria_range=INDIRECT(criteria_cell))

12. Advanced Conditional Functions

● Nested IFS: =IFS(A1>90,"A",A1>80,"B",A1>70,"C",A1>60,"D",TRUE,"F")


● Multiple condition IF:
=IF(AND(A1>minimum,A1<maximum,NOT(ISBLANK(A1))),"Valid","Invalid")
● Array conditional: =IF(range>threshold,value1,value2)
● Conditional array formula: =SUM(IF(conditions,values))
● Complex switch:
=SWITCH(TRUE(),condition1,value1,condition2,value2,default)
● Conditional formatting formula: =AND($B2>0,$C2<$B2)
● Alternating row formula: =MOD(ROW(),2)=0
● Traffic light conditions:
=CHOOSE(MATCH(value,{0,70,90}),RED,YELLOW,GREEN)
● Grade calculation: =LOOKUP(score,{0,60,70,80,90},{F,D,C,B,A})

By: Waleed Mousa


● Tiered calculation:
=LOOKUP(value,{0,1000,5000,10000},{0.1,0.08,0.06,0.04})

13. Advanced Array Operations

● Multi-column sort: =SORT(range,{1,2},{1,-1})


● Unique combinations: =UNIQUE(CHOOSE({1,2},array1,array2))
● Dynamic spill range: =FILTER(range,criteria1,criteria2)
● Array rotation: =TRANSPOSE(TRANSPOSE(range))
● Array concatenation: =range1&"_"&range2
● Array multiplication: =range1*range2
● Array expansion: =SEQUENCE(ROWS(range)*COLUMNS(range))
● Array reduction: =REDUCE(initial,range,lambda)
● Array map: =MAP(range,lambda)
● Array filter with multiple conditions:
=FILTER(range,(condition1)*(condition2))

14. Advanced Date Calculations

● Fiscal year calculation:


=YEAR(date)+(MONTH(date)>=fiscal_start_month)
● Work days between: =NETWORKDAYS(start_date,end_date,holidays)
● Next business day: =WORKDAY(date,1,holidays)
● Days until end of month: =EOMONTH(date,0)-date
● Age calculation: =DATEDIF(birth_date,TODAY(),"Y")
● Quarter start date: =DATE(YEAR(date),1+3*INT((MONTH(date)-1)/3),1)
● Week start date: =date-WEEKDAY(date,2)+1
● Date difference in months: =DATEDIF(start_date,end_date,"M")
● Rolling date range: =TODAY()-SEQUENCE(days,1,0)
● Custom fiscal week: =WEEKNUM(date)+IF(MONTH(date)>=fiscal_month,0,52)

15. Advanced Statistical Functions

● Percentile rank: =PERCENTRANK.INC(range,value)


● Moving correlation:
=CORREL(OFFSET(range1,ROW()-1,0,n),OFFSET(range2,ROW()-1,0,n))
● Frequency distribution: =FREQUENCY(data_array,bins_array)
● Standard error: =STDEV.S(range)/SQRT(COUNT(range))
● Confidence interval: =CONFIDENCE.NORM(alpha,stdev,size)
● Linear regression:
=SLOPE(y_range,x_range)*x+INTERCEPT(y_range,x_range)

By: Waleed Mousa


● R-squared value: =RSQ(y_range,x_range)
● Covariance: =COVARIANCE.P(array1,array2)
● Kurtosis: =KURT(range)
● Skewness: =SKEW(range)

16. Advanced Lookup Patterns

● Multi-condition lookup:
=INDEX(return_range,AGGREGATE(15,6,(ROW(criteria_range)-ROW(criteri
a_range)+1)*(criteria1=value1)*(criteria2=value2),1))
● Fuzzy lookup:
=INDEX(return_range,MATCH(MIN(ABS(lookup_range-lookup_value)),ABS(l
ookup_range-lookup_value),0))
● Range lookup with tolerance:
=XLOOKUP(lookup_value,lookup_range,return_range,,-1,tolerance)
● Lookup last matching value:
=LOOKUP(2,1/(criteria_range=criteria),return_range)
● Case-insensitive lookup:
=XLOOKUP(LOWER(lookup_value),LOWER(lookup_range),return_range)
● Wildcard lookup:
=XLOOKUP("*"&lookup_value&"*",lookup_range,return_range,,2)
● Lookup nearest value:
=INDEX(return_range,MATCH(MIN(ABS(lookup_range-target)),ABS(lookup_
range-target),0))
● Lookup with multiple return columns:
=XLOOKUP(lookup_value,lookup_range,{return_range1,return_range2,ret
urn_range3})
● Bi-directional lookup:
=IF(ISNA(MATCH(lookup_value,forward_range,0)),INDEX(reverse_range,M
ATCH(lookup_value,backward_range,0)),INDEX(forward_range,MATCH(look
up_value,forward_range,0)))
● Dynamic range lookup: =INDIRECT("Table1["&column_name&"]")

17. Data Cleaning Functions

● Remove extra spaces: =TRIM(CLEAN(text))


● Standardize case: =PROPER(LOWER(text))
● Remove non-printable characters:
=SUBSTITUTE(SUBSTITUTE(text,CHAR(10),""),CHAR(13),"")

By: Waleed Mousa


● Extract valid email:
=IF(ISNUMBER(SEARCH("@",text)),IF(ISNUMBER(SEARCH(".",text,SEARCH("
@",text))),text,""),""))
● Standardize phone numbers:
=TEXT(--REGEXREPLACE(text,"[^0-9]",""),"[<=9]000-000-0000")
● Remove duplicate spaces: =REGEXREPLACE(text,"\s+", " ")
● Clean currency format:
=TEXT(--REGEXREPLACE(text,"[^0-9.-]",""),"$#,##0.00")
● Standardize dates:
=TEXT(--SUBSTITUTE(SUBSTITUTE(text,"-","/"),".","/"),"mm/dd/yyyy")
● Remove specific characters:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(text,"#",""),"@",""),"$","")
● Validate numeric values: =IF(ISNUMBER(--text),--text,"")

18. Business Intelligence Functions

● Rolling average calculation:


=AVERAGE(OFFSET(reference,COUNTA(range)-periods+1,0,periods))
● Year-over-year growth:
=(current_value/LOOKUP(2,1/(period_column=previous_period),value_co
lumn))-1
● Market share calculation: =category_sales/SUM(total_sales_range)
● Customer lifetime value:
=average_purchase_value*(1/(1-retention_rate))
● Churn rate calculation:
=lost_customers/AVERAGE(start_customers,end_customers)
● Revenue per customer: =total_revenue/COUNTA(UNIQUE(customer_range))
● Conversion rate: =successful_conversions/total_attempts
● Inventory turnover: =cost_of_goods_sold/average_inventory
● Gross margin percentage: =(revenue-cost_of_goods_sold)/revenue
● Customer acquisition cost: =marketing_spend/new_customers

19. Report Automation Functions

● Dynamic report title: ="Report for "&TEXT(TODAY(),"mmmm yyyy")


● Auto-updating timestamp: =TEXT(NOW(),"dd-mmm-yyyy hh:mm:ss")
● Dynamic chart range: =OFFSET(start_cell,0,0,COUNTA(range),1)
● Running totals: =SUMIFS(amount_range,date_range,"<="&reference_date)
● Progressive totals: =SUM($A$1:A1)
● Automated rankings: =RANK.EQ(value,range,0)
● Dynamic categories: =UNIQUE(category_range)

By: Waleed Mousa


● Auto-expanding ranges: =INDIRECT("Table1[#All]")
● Period comparison:
=(current_period-LOOKUP(2,1/(dates=EDATE(current_date,-12)),values)
)/previous_period
● Conditional aggregation:
=SUMPRODUCT((criteria_range=criteria)*(value_range))

20. Advanced Analytical Functions

● Exponential smoothing: =α*current_value+(1-α)*previous_smoothed


● Moving median: =MEDIAN(OFFSET(reference,ROW()-periods,0,periods))
● Regression forecast: =FORECAST.LINEAR(x,known_y,known_x)
● Z-score normalization: =(value-AVERAGE(range))/STDEV.P(range)
● Weighted moving average: =SUMPRODUCT(range,weights)/SUM(weights)
● Trend analysis: =LINEST(y_range,x_range)
● Seasonal decomposition:
=value/AVERAGE(OFFSET(reference,-(periods-1),0,periods))
● Variance analysis: =(actual-budget)/budget
● Attribution modeling: =SUMPRODUCT(touch_points,weights)/SUM(weights)
● Portfolio optimization:
=SUMPRODUCT(weights,returns)-λ*SQRT(MMULT(MMULT(weights,covariance)
,TRANSPOSE(weights)))

21. Advanced Financial Modeling

● DCF valuation: =NPV(wacc,cash_flows)+terminal_value/(1+wacc)^periods


● Option pricing:
=S*NORM.S.DIST(d1,TRUE)-K*EXP(-r*T)*NORM.S.DIST(d2,TRUE)
● Bond pricing: =PV(yield_rate/2,periods*2,-coupon_payment,face_value)
● WACC calculation:
=equity_weight*cost_of_equity+debt_weight*cost_of_debt*(1-tax_rate)
● Leverage ratios: =total_debt/total_equity
● Coverage ratios: =ebit/interest_expense
● ROI calculation:
=(ending_value-initial_investment)/initial_investment
● Break-even analysis:
=fixed_costs/(price_per_unit-variable_cost_per_unit)
● Sensitivity analysis: =TABLE(output_cell,input_cell1,input_cell2)
● Monte Carlo simulation: =NORM.INV(RAND(),mean,standard_deviation)

By: Waleed Mousa


22. Advanced Data Visualization Functions

● Conditional color scaling:


=IF(value>threshold3,"Green",IF(value>threshold2,"Yellow",IF(value>
threshold1,"Orange","Red")))
● Dynamic chart labels: =text_label&": "&TEXT(value,"#,##0.00")
● Custom sparklines:
=REPT("▁",IF(A1<ranges,1,IF(A1<range2,2,IF(A1<range3,3,4))))
● Progress bar:
=REPT("■",ROUND(percentage*10,0))&REPT("□",10-ROUND(percentage*10,0
))
● Custom gauge chart:
=CHOOSE(MATCH(value,{0,25,50,75,100},1),"○","◔","◑","◕","●")
● Heat map formula: =INDEX(color_array,MATCH(value,threshold_array,1))
● Dynamic data bars: =REPT("|",ROUND(value/max_value*20,0))
● Custom KPI indicators: =IF(trend>0,"↑",IF(trend<0,"↓","→"))
● Radar chart values: =value*COS(angle*PI()/180)
● Bubble size calculation: =SQRT(value/PI())*scale_factor

23. Advanced Error Prevention

● Division by zero prevention:


=IF(denominator=0,0,numerator/denominator)
● Null concatenation handler:
=IF(ISBLANK(text1)&ISBLANK(text2),"",CONCATENATE(IFERROR(text1,""),
IFERROR(text2,"")))
● Multiple error handler: =IFERROR(IFERROR(formula1,formula2),formula3)
● Range error prevention: =IF(row_num>ROWS(range),"Out of
Range",INDEX(range,row_num,1))
● Type mismatch prevention:
=IF(ISNUMBER(value),value,VALUE(CLEAN(value)))
● Empty array handler: =IF(ROWS(array)=0,"Empty",array)
● Circular reference prevention:
=IF(INDIRECT("RC",FALSE)=prev_value,prev_value,new_calculation)
● Overflow prevention: =IF(result>MAX_VALUE,MAX_VALUE,result)
● Underflow prevention: =IF(result<MIN_VALUE,MIN_VALUE,result)
● Missing reference handler:
=IFERROR(INDIRECT(reference_name),"Reference Missing")

By: Waleed Mousa


24. Performance Optimization

● Array prelookup: =CHOOSE(MATCH(key,lookup_array,0),return_array)


● Efficient range reference: =INDEX(column,sequence)
● Optimized VLOOKUP:
=INDEX(return_array,MATCH(lookup_value,lookup_array,0))
● Calculation chain reduction:
=IF(trigger_cell="Yes",complex_calculation,previous_result)
● Memory efficient array: =FILTER(large_range,criteria)
● Volatile function replacement: =ROW()+offset instead of =OFFSET()
● Structured references: =[@Column] instead of cell references
● Helper column utilization: =IF(helper_column=criteria,calculation,0)
● Array optimization: =SUMPRODUCT(--(conditions)) instead of
{=SUM(IF())}
● Lookup table efficiency:
=INDEX(sorted_array,MATCH(key,sorted_keys,1))

25. Advanced Analytics Integration

● Simple linear regression:


=SLOPE(y_range,x_range)*x+INTERCEPT(y_range,x_range)
● Multiple regression: =SUMPRODUCT(coefficients,variables)+intercept
● Logistic regression: =1/(1+EXP(-SUMPRODUCT(coefficients,variables)))
● K-means distance: =SQRT(SUMXMY2(point1,point2))
● Decision tree node:
=IF(feature1<=threshold1,class1,IF(feature2<=threshold2,class2,clas
s3))
● Random forest voting: =MODE(predictions_array)
● Neural network activation: =1/(1+EXP(-weighted_sum))
● Feature scaling: =(value-MIN(range))/(MAX(range)-MIN(range))
● Principal component: =MMULT(eigenvector,TRANSPOSE(centered_data))
● Correlation matrix: =CORREL(array1,array2)

26. Advanced Time Series Analysis

● Exponential smoothing: =α*current+(1-α)*previous_smooth


● Double exponential smoothing: =level+trend
● Holt-Winters forecast: =(level+trend*h)*seasonal_factor
● Moving average convergence: =short_term_avg-long_term_avg
● Relative strength index: =100-100/(1+avg_gain/avg_loss)
● MACD signal: =ema_12-ema_26
By: Waleed Mousa
● Bollinger Bands: =ma_20±(2*STDEV.P(range,20))
● Rate of change: =(current_value/previous_value-1)*100
● Momentum indicator: =close_price-close_price_n_periods_ago
● Stochastic oscillator:
=(close-MIN(low,14))/(MAX(high,14)-MIN(low,14))*100

27. Advanced Business Metrics

● Customer lifetime value:


=avg_purchase_value*purchase_frequency*customer_lifespan
● Employee turnover rate:
=separated_employees/((beginning_employees+ending_employees)/2)
● Net promoter score: =(promoters-detractors)/total_responses*100
● Cost per acquisition: =marketing_spend/new_customers
● Revenue per employee: =total_revenue/total_employees
● Inventory turnover ratio: =cost_of_goods_sold/average_inventory
● Accounts receivable turnover:
=net_credit_sales/average_accounts_receivable
● Operating leverage: =(revenue-variable_costs)/(revenue-total_costs)
● Working capital ratio: =current_assets/current_liabilities
● Quick ratio: =(current_assets-inventory)/current_liabilities

28. Advanced Risk Analysis

● Value at risk: =mean-standard_deviation*confidence_level


● Beta calculation:
=COVAR(stock_returns,market_returns)/VAR(market_returns)
● Sharpe ratio:
=(portfolio_return-risk_free_rate)/portfolio_standard_deviation
● Risk-adjusted return: =return/risk_measure
● Portfolio variance:
=SUMPRODUCT(weights,MMULT(covariance_matrix,weights))
● Maximum drawdown: =(peak_value-trough_value)/peak_value
● Sortino ratio: =(return-risk_free_rate)/downside_deviation
● Information ratio:
=(portfolio_return-benchmark_return)/tracking_error
● Treynor ratio: =(portfolio_return-risk_free_rate)/portfolio_beta
● Jensen's alpha:
=actual_return-(risk_free_rate+beta*(market_return-risk_free_rate))

By: Waleed Mousa

You might also like