only first xAxisCategory showed. Lots of elements - highcharts

I am using a highcharts Heat map (I guess its the same with another choice) and I have got 185 elements inside.
To be able to show some usefull xAxisCategories I set the first one to the value, then I set 10 to empty (""). What happends its that when the ones that I show are bigger than one or two characters, it only shows the first one.
Example:
xAxisCategory = ["a", "", "" ..... , "" , "a",...]
That works and shows the "a" when it has to.
xAxisCategory = ["aaaa", "", "" ..... , "" , "aaaa",...]
This only shows the first "aaaa", after that, everything its empty.
What I have to show its a date so it doesnt work.

Related

How to Compare lists of values (Sheets)

I am looking to compare cells containing a list of comma separated strings to a column containing solutions made up of comma-separated lists.
My test data
Each cell in the "Test lists" column will need to be checked against every one of the cells in the "Possible Solutions" column. If any exist that contain all of the values of the list we are currently testing, it should return TRUE. Otherwise, FALSE. It is OK if the possible solution contains MORE values, just not less.
The image above contains the best solution to this I have managed to work out so far ... the "Should be" column shows the answer I am expecting.
Any suggestions on other things I might try?
This should work. Paste in cell D2 and drag!
=ARRAYFORMULA(SUM(N(ARRAYFORMULA(
LEN(FILTER($A$2:$A, $A$2:$A<>""))
- LEN(REGEXREPLACE(FILTER($A$2:$A, $A$2:$A<>""), SUBSTITUTE($B2, ", ", "|"), ""))
= LEN(SUBSTITUTE($B2, ", ", ""))
)))) > 0
The general idea here is to extract all test list elements from a given possible solution list, and then check whether the number of characters removed equals the length of the test list. If that's true, then the test list is contained within the solution list.
The inner ARRAYFORMULA() extends that search scheme to every possible solution list (i.e. to all of column A); the outer ARRAYFORMULA(SUM(N(...))) > 0 returns TRUE if any of the possible solutions pass the test.

Format cell in google sheet to number WITHOUT changing it

I have a kinda big google sheet. Around 20k rows. One of the cells in these rows contains always a 17 digit number. I automatically adding new rows via the google API with the nodeJS package (https://www.npmjs.com/package/google-spreadsheet).
Here is my problem, everything works fine if the last two digits in the number arent two zeros. If its 12345678912345678 then the "automatically" formating works fine. It shows it as it is and I can read it with the NodeJS package as it is.
But if its 12345678912345600 then its gets automatically converted to 1,23456E+16.
Now I want to convert it back to "normal". Thought kinda easy, just use format "text" and it should be displayed correctly. I dont care if its a number or a text, I can handle that on my side of the script. But formating it to text change the value of the cell to 1,23456E+16. Not what I want.
Okay, then convert it to a number, no problem. The normal default number formats doesnt fit (Since I dont want any . or , or decimal or anything, just the plain number. Custom number format it is. So I select custom number format and even the first example is what I want. So I select the format 0. Its just display the number without anything. Works exactly as I want.
Okay, lets do it for all of the 20k rows. I have roughly 1k rows with a double zero at the end. So I select the complete column, custom number format 0 and done?
Nope... Next problem. If you convert a number with more than 15 digits, every digit after the 15th digit get converted to 0. So I change all my other rows.
I could go and select all the affected one thousand rows by hand and just convert these rows, but yeah... one thousand rows...
Isnt there any way to convert these numbers just to display the number? Without changing it?
Try updating the format NUMBER to # to display the plain number:
A sample script:
const changeFormatNumber = async () => {
const auth = await getOAuthClient()
const sheet = google.sheets({ version: 'v4', auth })
const prop = await sheet.spreadsheets.batchUpdate({
spreadsheetId: '<SPREADSHEET_ID>',
requestBody: {
requests: [
{
repeatCell: {
fields: 'userEnteredFormat.numberFormat',
range: {
startRowIndex: 0,
startColumnIndex: 0,
endColumnIndex: 1,
endRowIndex: 100
},
cell: {
"userEnteredFormat": {
"numberFormat": {
"type": "NUMBER",
"pattern": "#"
}
}
}
},
}
]
}
})
console.log(prop)
}
Before:
After:
Documentation
Basic Formatting
Cell Data

Google Docs =Filter() will randomly show "N/A" till I erase the function and paste it back in

I've been having a consistent issue where every =Filter() function on my spreadsheets will stop working, they will all just display "N/A" "No Matches Found In Filter Evaluation". I am filtering data from the same sheet, not importing it.
I have to copy the function, delete it, hit enter to apply the changes to the cell, paste it back in and hit enter to apply the function again. After that it will work as expected.
This happens with no rhyme or reason, and affects all worksheets in my document. How do I prevent this? Is there any way to automatically fix this without copy/pasting my functions dozens of times on a regular basis?
Edit: Function Example
=FILTER(Organize!F2:K1000, Organize!D2:D1000 = B6, Organize!C2:C1000 =A6, (Organize!E2:E1000 = "Doug") + (Organize!E2:E1000 = "Rach Owes Doug")+ (Organize!E2:E1000 = "Both")+ (Organize!E2:E1000 = "Rach Owes Doug Split"))
This shows as "N/A" "No Matches Found In Filter Evaluation" till I delete and paste it back in.

Value of a cell in the same row as the max value in another

I am trying to add some stats to a google spreadsheet in which I am calculating the value of different purchases. I want to display the best and worst values with their title. I am trying this currently
=OFFSET(ADDRESS(MATCH(MAX(G2:G31),G2:G31,0),7), 0, -5) & " : " & MAX(G2:G31)
to try and get the output "Title : value"
but am getting Error: Argument must be a range. what am I missing?
ADDRESS will return a string representation of a cell reference, rather than the reference itself. So you would need to wrap the ADDRESS function in INDIRECT.
However, the "title" will be wrong by one, as you are MATCHing in an array that starts at row 2 rather than row 1.
Using similar logic to your formula, perhaps something like:
=OFFSET(B2,MATCH(MAX(G2:G31),G2:G31,0)-1,0)&" : "&MAX(G2:G31)
or this will return multiple matches if there is more than one value equal to the maximum:
=FILTER(B2:B31&" : "&G2:G31,G2:G31=MAX(G2:G31))

Reportviewer regular expression check

In my report viewer i have a table displaying data in different columns. I wanted to have a regular expression to check the content in a textbox of a table to see if it is NULL to place a 0 in the textbox. Currently if there is returned data it is displayed and if not then there is empty space which i would like to replace it with a 0
here is what i had for a regular expression for the textbox:
=IIf(Fields!FirstAmount.Value = " ","0",Fields!FirstAmount.Value)
Any ideas or other ways to resolve this issue.
I resolved my issue using the following expression:
=IIF(Fields!FirstAmount.Value Is Nothing, "0", Fields!FirstAmount.Value)
depending if the First Amount field is null or not it will be replaced by 0 if it is empty and if not it will show its data.

Resources