I wanted to use the Google Sheets to sort the column in descending order when a checkbox is enabled
I have tried assigning the value to the sheets and import the application it should be interfering into the data but couldn't resolve the issue
if(A2,FILTER(A3:A,A3:A>0),0), Assuming A2 is the checkbox presence
Also tried SORT function but both are creating errors like Array result was not expanded because it would overwrite data in A4.
try something like this:
=IF(B1=1, SORT(A3:A, 1, 1), {A3:A})
demo spreadsheet
Related
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))
So I'm trying to sort some data from a form in google sheets. I need to sort the data by category. and by the month.
So far I have been able to sort these individually but not in the same cell.
my code so far for my test form is below the image.
To Filter by a category, in F2:
=UNIQUE(B2:B25)
for cells G2 and below I used: =SUMIF(B$2:B$25,F2,C$2:C$25)
to get the TOTAL for entire categories I used: =SUMPRODUCT((MONTH(spending_response!D2:D100)=5)*(YEAR(spending_response!D2:D100)=2020)*(spending_response!C2:C100))
my problem is I can't put these two together. I tried adding the two codes in the same cell separate by a comma but it doesn't seem to work. please see the below image for what I am using this for and dismiss the test values.
Put this in G2 and drag downwards :
=SUMPRODUCT((spending_response!$B$2:$B$100=F2)*(MONTH(spending_response!$D$2:$D$100)=5)*(YEAR(spending_response!$D$2:$D$100)=2020)*(spending_response!$C$2:$C$100))
Idea : add another draggable 'checking' criteria to the sumproduct. /(^_^)
use:
=QUERY(A2:C, "select A,sum(B) where month(C)+1=5 group by A label sum(B)''", 0)
I am creating a dynamic reporting tool that creates reports from data sourced from Wonderware. The data that is sourced is gathered from various pumps/flows/temps around site for operators/management to use. I want to create a dynamic sheet rather than use the wizards available because of limited IT experience of some of the operators.
I have managed to create the report but have one issue that i cannot resolve that would help the sheet become more user friendly.
I have some array formulas that link to cells that have dropdowns. (This is what helps make it user friendly). The drop down cells include, which server to look at, which tagname to look for, the start time, the duration and the number of cells in the array.
When changing the number of cells in the array cell dropdown the array doesnt change until you select a cell in within the array and then select the Refresh Function command. This then changes the array.
I want to write a macro that will select several cells on the sheet that have individual arrays and select Refresh Function command. I will then assign this to a shape that can quickly and easily be selected.
Can anyone help with this macro please?
You just need to add the reference to ActiveFactoryWorkbook in visual basic editor, and then something like this:
Range("B11").Activate
ActiveFactoryWorkbook.wwRefreshFunction
Be sure that in the cell B11 you will have a part of the array the query generates. As you have to refresh more than one array just copy the code again and change the cell reference.
Sub Workbook_RefreshAll()
ActiveWorkbook.RefreshAll
End Sub
I am beginner in of AngularJS therefore I have a simple question.
Is there any method provided or sample code in ui-grid to check the duplicate values in more then one rows in ui-grid.?
i want to color the cell where duplicate value exist.
There is no TRUE built-in way, however using $watch is one solution. If values in your ui-grid are bound to a variable called myGridVals, you would do something like this:
$scope.$watch('myGridVals',function(newval,oldval) {
// loop through myGridVals and see if newval matches anything
});
Note that if your array holds objects you'll want to do a DEEP watch which means adding a third param to $watch(..,..,true);
You can also