I'm looking for the equivalent of the COUNTIF(A1:A100;TRUE) formula of excel,
which won't happen to function in google sheets.
Had already tried to SUM(--(A1:A100)), neither this doesn't seem to do the job.
The above-mentioned formulas do function in excel/numbers, but in google sheets.
Google sheets outcome is zero for this formula.
Edit: Created a copy of the sheet and published -> Google Sheet
Edit2: Was my fault... I used the german expression SUMIF() instead of COUNTIF(). Sheets should definitely not have multilingual expressions -.-
Credits goes to #AnonymesEinhorn. Thank you.
not sure how you getting those booleans but it works with text and even checkbox:
=COUNTIF(A1:A100; TRUE)
Related
Before y'all tell me to search please look at the formulas. I have searched and tried all variations mentioned in the docs. The spreadsheet is dead simple. I am trying to populate the driver name cell based on previously recorded license plates. Why is this not working as the docs show? The result with in B11 should be 'Billy Goats'.
Formula with no final value specified (should default to TRUE).
Formula final value sorted set to TRUE, still not working.
Formula final value sorted set to FALSE, still not working.
I am not looking for someone to fix my problem. I just want to know why this is not functioning according to the docs. I am trying to learn, not get free scripting services.
use:
=VLOOKUP(F11, {E1:E10, B1:B10}, 2, 0)
My Google Sheet has a formula that takes the following URL (as an example)
https://info.example.com/page-one/
and strips it down to the last part. Like this
page-one
It then decides if the keyword in a separate column is used in the naming convention of this page (Yes or No)
What I would like for this formula to do is automatically expand the functions to all the rows that have data. I've been doing this with the ArrayFormula but have not been able to replicate it with these functions.
=IF(ISBLANK(B2),"",IF(LOWER(CONCATENATE(SUBSTITUTE(SUBSTITUTE(TRIM(B2),"&","and")," ","-")))=SUBSTITUTE(RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2,"/","#",LEN(A2)-LEN(SUBSTITUTE(A2,"/",""))-1))), "/", ""),"Yes","No"))
Here is a link to the working Google Sheet: https://docs.google.com/spreadsheets/d/1iHkU-rNtNhoOKvW_CWY7WU5OLsMFVqEFNRZlx_R-7RY/edit#gid=1497887942
try:
={"header"; INDEX(IF(B2:B="",,
IF(REGEXMATCH(A2:A, SUBSTITUTE(B2:B, " ", "-")), "Yes", "No")))}
Try =ARRAYFORMULA(IFERROR(SUBSTITUTE(RIGHT(A2:A,LEN(A2:A)-FIND("#",SUBSTITUTE(A2:A,"/","#",LEN(A2:A)-LEN(SUBSTITUTE(A2:A,"/",""))-1))), "/", "")))
I'd like to get the value of cell A1 from multiple tabs in my sheet. I attempted to use INDIRECT, only to be reminded that it wouldn't work in an ARRAYFORMULA. Is there some sort of "makeshifty" formula that would do the same thing?
This is what I originally attempted:
=ArrayFormula(IF(LEN(A2:A),INDIRECT(A2:A&"!A1"),))
Column A is a select list of the tab names in my sheet. So the first instance works, but of course, it doesn't populate down the column as I had hoped. I realize I can just copy the formula down the column, but some type of an ARRAYFORMULA would be ideal as I add rows to the list.
I found this answer, but don't see how I could apply it to my situation.
I also found this answer, but thought since it's 2.5 years old, maybe someone has discovered a clever way to avoid the drag of copying.
Answer:
You need to do this with a script or by using the drag method - INDIRECT uses a string reference and so can't be used with an array.
More Information:
Unfortunately for the user of INDIRECT with ARRAYFORMULA, a discovery of a clever method isn't the issue - the limitation of what can be done with only formulae that is the root of this problem.
Setting up a custom function:
From the Tools > Script editor menu item, you can create scripts. An example custom formula that you could use would be as follows:
function ARRAYINDIRECT(input) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
return input.reduce(function(array, el) {
if (el[0]) array.push(el[0])
return array;
}, []).map(x => ss.getSheetByName(x).getRange("A1").getValue());
}
Make sure to then save the script with the save icon.
In your Sheet you can then call this custom formula as so:
=ARRAYINDIRECT(A2:A)
Rundown of the function:
Takes the input range from where the formula is called - in this case A2:A
Reduces the input to remove all cells that are empty
Maps the name of the sheet which is stored in the cell to the value in A1 of the sheet it references
Returns an array to output
References:
JavaScript Array reduce() Method
INDIRECT - Docs Editors Help
ARRAYFORMULA - Docs Editors Help
I have a Google Sheet workbook with multiple sheets being used to track COVID-19 cases in institutions across the country. The built-in Google Sheets geo chart works perfectly for the data visualization I need to accomplish, with one issue: It currently can't differentiate between actual 0 and "no data", which super skews how the
(essentially you can choose what color to use on the map for high value, mid value, low value, and no value. Where it should be using the color for "no value", it uses the low value color instead which makes the visualization confusing.)
The reason it's doing that is the array it's using as its data source contains zeroes to represent "no data available".
The array is imported from a different sheet by using ={'State Totals'!N4:P54}. I found an explanation for how to generally use a formula to return empty cells, the example there being =if(B2-C2>0, B2-C2, " ").
I'm extremely noob when it comes to these formulas, and I cannot figure out if I can nest an IF condition in an array import, or vice versa, or... what or how.
Here's a link to the sheet in question, if that helps at all. Really I just need a formula that
Imports the array values
Returns empty cells in place of zeroes where they appear
I don't want to affect the origin sheet's zero handling, just the one that the chart's using. (I also am absolutely not being paid enough to try and rig up a better map with Google Data Queries instead of the in-built Google Sheets chart maker, so here's to hoping it's a simple matter of syntax.)
instead of ={'State Totals'!N4:P54} use:
=ARRAYFORMULA(IF('State Totals'!N4:P54=0,,'State Totals'!N4:P54))
I'm not sure what I missed as my arrays are not working. Here's the link:
https://docs.google.com/spreadsheets/d/1_pPSRjEnKv10mDR8LICVvVv7jgXVBJ1aWZ8KrdEIKd4/edit#gid=0
Please check highlighted in green.
Thanks
Im not sure how to explain why it doesn't work because there are a list of things - various ways in which array formula operates - but I would like to suggest to you to use regexextract instead of search: I created the two formulas for is profile and is live, hopefully I can try to explain what the pieces do:
in column Y:
=arrayformula(if(arrayformula(if(istext(regexextract(C2:C,"automated")),1,0))+arrayformula(if(or(istext(regexextract(C2:C,"clinic profile")),istext(regexextract(C2:C,"dr profile"))),1,0))=2,1,0))
in column Z:
=arrayformula(if(Y2:Y=1,if(istext(regexextract(C2:C,"live")),1,0),0))
Basically instead of using the search - regexextract will find your search terms anywhere in that text and it works well with array formula, then using the if and istext to give it a true of false value of 1 or 0.
if the value is not found in that corresponding cell, it would in theory return #N/A if it was in an individual cell - but if the value is there the regexextract would return that value to you, which why the istext works
By the way if Im confusing you , then if you want to change your sheet to be editable by anyone I can jump in and show you what I did..