Google Sheets, IF THEN function in adding up closed deals - if-statement

I am trying to create a spreadsheet that has options for closing customers.
If the cell says "Approved" then the Estimated Quote should appear in the "Closed Deal" column. If it shows "Denied" it shows a "0" dollar value. Pending will also show a "0" value.

If A1 is the cell and ColumnB the Closed Deal column:
=if(A1="Approved","the Estimated Quote",if(or(A1="Denied",A1="Pending"),"$0","?"))
This can be copied down to act the same on A2 etc. "the Estimated Quote" should perhaps be a cell reference.

Related

Copy and Filter out selected fields from 2 tabs in the Same Gsheet to another Tab with common category Fraud = 'Yes'

Copy and Filter out selected fields from 2 tabs in the Same Gsheet to another Tab with Fraud = 'Yes'
I have 2 sets Tabs in the Same Gsheet with different information. I would like to copy them into another tab with Fraud ="Yes". I have an example with formulas in Combine Example from Stall A Example and Stall B Example with some help previously. When I tried to replicated into my actual data (Combine NSU and ACH ) set I can't do it.
Can someone please help and guide on this.
https://docs.google.com/spreadsheets/d/1N35wUB-a7hDHFTzdhajlaCTJf_Ce34Ql3Miwq51JCqY/edit?usp=sharing
Whenever it is Fraud = "Yes", it extracts the necessary information from NSU Tab and ACH Tab with has Fraud = Yes into Combine NSU and ACH Tab
#=SORT(
LAMBDA(DATA,
LAMBDA(DATE,TYPE,AMOUNT,FRAUD,ID,ERP
FILTER({TEXT(DATE,"dd/mm/yyyy"),TYPE,AMOUNT,FRAUD,ID,ERP},FRAUD="YES")
)(INDEX(DATA,,1),INDEX(DATA,,2),INDEX(DATA,,8),INDEX(DATA,,13),INDEX(DATA,,15),INDEX(DATA,,16))
)({'NSU'!A2:P27;{'ACH'!A2:A8, 'ACH'!B2:B8,'ACH'!N2:N8,'ACH'!L2:L8,'ACH'!F2:F8,'ACH'!H2:H8 }})
,1,TRUE)
Code:
Output:
Get all data of sheet NSU and ASH, and re-arrange their orders by QUERY.
Group them up with another QUERY to filter the data you want such as Col4 = 'Yes'.
All the formating and sort can also be done with query.
=ArrayFormula(
LAMBDA(NSU,ACH,
QUERY({NSU;ACH},
" WHERE Col1 IS NOT NULL "
&" AND Col4 = 'Yes' "
&" ORDER BY Col1 ASC"
&" LABEL Col1 'Date',Col2 'Type',Col3 'Amount',Col4 'Fraud',Col5 'ID',Col6 'ERP' "
&" FORMAT Col1 'yyyy-mm-dd' "
)
)(
LAMBDA(COLS,
QUERY({NSU!$A:$P},
" SELECT "&JOIN(",","Col"&COLS)
&" LABEL "&JOIN(",","Col"&COLS&" '"&REPT(" ",COLS)&"'"),1)
)({1,2,8,13,15,16}),
LAMBDA(COLS,
QUERY({ACH!$A:$N},
" SELECT "&JOIN(",","Col"&COLS)
&" LABEL "&JOIN(",","Col"&COLS&" '"&REPT(" ",COLS)&"'"),1)
)({1,2,14,12,6,8})
)
)
Well, in-case you really want to have the ability to add some input fields in-between the output QUERY.
The answer is you can't, but also you can.
Basically, you cannot insert anything in-between any kind of array outputs in google spreadsheets, the array-formula will return an error '#ref' mentioning that there are other values inside the output range which fail it from showing the output, BUT...
you can always get around this issue by simply seperate the output array by an other QUERY, such as:
This simple array in google sheet will reference range A1:C10 and place the data into where-ever you type this formula into, which output a 10 rows by 3 columns array.
={A1:C10}
We assumne that you put this in cell 'E1', that makes the output covers range 'E1:G10'.
If you what to have a column of fields which allow you to input new data in-between the output range, for example, you want to add a new column in F:F.
In that case, you can put 2 formula seperatly into cell 'E1' and cell 'G1', which contains the following formulas:
in cell 'E1':
=QUERY({A1:C10},"SELECT Col1")
in cell 'G1':
=QUERY({A1:C10},"SELECT Col2,Col3")
Since the output arrays are seperated, that makes the column(s) between the column E and column G a normal empty column, which allows you to input anything into the cells.
The beauty of QUERY function is that you can select any column(s) of a given reference array as an output.
In this case the output data will be seperated into 2 parts, one contains only the first column of the reference, the second one contains the rest of them.
It doesn't matter how many empty columns you insert between the 2 outputs since they are 2 outputs of one identical reference.
The draw back is, if your reference data are results of calculations, the sheet will have to do all those calculations two times, even if they gives the same results, which is why I say this can and will slow things down and are not very recommended.

Google sheets formulas for checking max and then writting name of person in a different cell

so I have been working on automating this table for the most performing person of the week on google sheets.
now on the column O i have top candidate, I want to run an if statement that would check through the values of each person. for example, for day 1 it would check from K3 to N3 once it gets the value, it should post the name of the candidate. That means for week 1, day 1, it would check and see that charles has the top performance and post "Charles" on the top candidate cell of the same row.
so far i know how to know ts easy getting the number between the cells which has the biggest value =max(K3:N3) but then combining it with an if statement that would know the cell on top... that got me worked up and still not found an answer
This formula should work:
=INDEX($K$2:N,1,MATCH(MAX($K3:$N3),$K3:$N3,0))
MATCH will find a specific column that has the max value of K3:N3, then INDEX will reference the value of the top column.
Sample Sheet:
use:
=ARRAYFORMULA(TRIM(TRANSPOSE(QUERY(TRANSPOSE(IFNA(
IF(IF(K3:N="", "x", K3:N)=QUERY(TRANSPOSE(QUERY(TRANSPOSE(K3:N),
"select "&TEXTJOIN(",", 1, IF(LEN(J3:J),
"max(Col"&ROW(A3:A)-ROW(A3)+1&")", ))&"")),
"select Col2"), K2:N2, ))),,9^9))))

Conditionally format cell if value entered already appears in same row, next column which is CSV

I'm want to conditionally format A3:A if the value entered in A3:A already appears in B3:B, which contains CSV, >1 time.
(A3:A will be CONCATENATED to B3:B, so the value will automatically appear at least once.)
Basically, if the value is not already present, there will be no formatting and I know to go ahead and add (leave it). If it is present, format the cell to alert me not to add (or delete). There may be numerous values in some cells and not so easy to glance to see if the value in question is already present.
I attempted to use REGEXMATCH, but not really sure how to switch the TRUE to a numeric value.
=IF(LEN(A3),REGEXMATCH(B3,A3),)
I've also found other formulas using COUNTIF and COUNTA that perform a similar action, but none that consider CSV.
My sheet
custom formula for CF:
=ARRAYFORMULA(REGEXMATCH(A3,TEXTJOIN("|",1,TRANSPOSE(QUERY(QUERY(TRANSPOSE(TRIM(
SPLIT(B3,","))), "select Col1,count(Col1) group by Col1"),
"select Col1 where Col2 > 1", 0)))))

How to populate a VLOOKUP with a dynamic range in Google Sheets?

I have a file that needs to look up the team name (on a tab called "Parse") of an employee on a tab called "Roster". This can be done with a simple array Vlookup, however, the issue is that each week, we add a row to the Roster tab because employees sometimes move around.
I have already done the majority of legwork by using a MAX/FILTER/COLUMN, LEN formula to determine what the last column is in the Roster tab. I have also created a range that will provide me with the actual range needed for the VLookup. For example: If the last column in Roster is "G", I already have a formula that populates "'Roster'!A2:G", which is the range I would need for my Vlookup. If the last row in Roster is "P", then the formula shows "'Roster'!A2:P".
The formula that gives me the range, as I described in the examples, lives in cell F2 on the Parse tab.
So the hard part is done. All I need to know now is, when writing my Vlookup, how can I have the formula reference the actual contents of cell F2 in the Parse tab instead of thinking the lookup range is cell F2. Here's a visual:
Cell F2 in the Parse tab reads: 'Roster'!A2:G (because as of now, column G is the last column with data. this is correct).
My VLookup is VLOOKUP($A2,$F$2,7,FALSE). However, I want my Vlookup to say VLOOKUP($A2,'Roster'!A2:G,7,FALSE).
Is it possible to have the formula reference what is IN cell F2 instead of referencing just "F2"?
I hope this made sense. It's the end of my workday and I'm very tired.
try something like:
=VLOOKUP(A2, INDIRECT("Roster!A2:"&
SUBSTITUTE(ADDRESS(1, MAX(IF(Roster!1:1<>"", COLUMN(Roster!1:1), )), 4), 1, )),
MAX(IF(Roster!1:1<>"", COLUMN(Roster!1:1), )), 0)

Not able to get top 1 in power BI?

Customer table
contains the column "Status","created_date","updated date"
ascs table
contains the column "service_station_name"
First I add new measure for "status count" by using following eqn:
Status Count = COUNT('cps customers'[status])
then a new column for "day duration" by using following eqn:
Day Duration2 = SWITCH('cps
customers'[status],"Closed",DATEDIFF('cps customers'[created_at],
[updated_at],DAY),"Unattended",DATEDIFF('cps
customers'[created_at],NOW(),DAY),"Assigned",DATEDIFF('cps
customers'[created_at],NOW(),DAY),"NotApplicable",DATEDIFF('cps
customers'[created_at],NOW(),DAY),"Open",DATEDIFF('cps
customers'[created_at],NOW(),DAY))
I need top service station name..
Conditions:
i. Consider only **closed status**
ii. Top count of **closed status count**
iii. Lowest **time duration**
Steps:
Select columns service_station_name,status,status count and day duration2
Filter the closed status from column "status".
Add TOPN filteration for "status count"
Now, I got three service_station_name where each have 5 closed status count.
And for getting the lowest "day duration2" I used ascending order
"
And for displaying the top 1 service_station_name, I chosen the CARD from
visualization and get First service_station_name.Bt I haven't got the
proper answer
Then I took last service_station_name . Here also i haven't got the
answer.
Based on the screenshot, I need "Om Sakthi Engineering" as answer.
How I get the answer? Can anybody help me!
You could actually add in another column "NewColumn", then the value would be the "Status Count" divided by "day Duration". The highest value will be the top one.
NewColumn = divide(Table1[Status Count],Table1[Day Duration])
Then you can use card visualization to pick the top one value.
Under filters, you should filter status as closed, filter the top 1 for this NewColumn.