How can I highlight Partial matches in a single column of google sheets? some entries are the same but they have slight misspellings or some are in lowercase. How do you highlight these partial matches? thank you very much
try:
=(INDEX(COUNTIF(REGEXREPLACE(A:A, "[^A-Za-z]+", ),
REGEXREPLACE(A1, "[^A-Za-z]+", )))>1)*(A1<>"")
what this does is that regex will delete everything which is not A-Z or a-z
Related
In Sheet1 A1:A I have a list of words. In Sheet2 A1:A I have a list with search terms. I now want to match each cell in Sheet1 to see if it contains words from the list of search terms. If yes, then the the words that matches inside the cell should be removed.
I have tried the following formulas, unfortunately without success.
=ArrayFormula(regexreplace(A1:A;Sheet2!A:A;""))
=substitute(A1;Sheet2!A$1:A;"")
The formula mentioned in the post Using multiple SUBSTITUTE functions dynamically does not working for me because I need an exact match regexreplace.
=ArrayFormula(IF(LEN(A2:A), REGEXREPLACE(A2:A, TEXTJOIN("|", 1, B2:B),),))
This will also remove the words from words that are part of words. for example, not only the word apple will be deleted, but also the word apple from appletree, which is not supposed to be.
Maybe try
=ArrayFormula(IF(LEN(A2:A), REGEXREPLACE(A2:A, "\b("&TEXTJOIN("|", 1, B2:B)&")\b",),))
and see if that helps?
Hello. I'm new to regex and I've been practicing on google sheets. However, I found that only REGEXEXTRACT among the 3 regex related formulas in google sheets works incorrectly in ARRAYFORMULA. The strange thing is that by ARRAYFORMULA it is expanded in the row direction, but not in the column direction. Why is this happening?
If you are looking to return only a single column that checks for each of the conditions of regex you would have to join them together internally. Otherwise your array is expanding down and right as intended. It is checking column F against G2, then H2, then I2, therefore showing each case for each row.
=ARRAYFORMULA(REGEXMATCH($F4:$F10,JOIN("|",G$2:I$2)))
Will concatenate them in the format where the REGEX checks for each of the criteria and if ANY are true, it returns true. It essentially writes this:
=ARRAYFORMULA(REGEXMATCH($F4:$F10,"...-....-....|.com$|^!")
| - is the delimiter.
UPDATE:
I believe you're only option is to change the formatting of REGEXEXTRACT to be an array itself. Such as:
=ARRAYFORMULA({REGEXEXTRACT($F2:$F10,G$2),REGEXEXTRACT($F2:$F10,H$2),REGEXEXTRACT($F2:$F10,I$2)})
on google sheets I am trying to remove some capital letters that exist between brackets using regexreplace
=arrayformula(regexreplace(regexreplace(A2:A,"\(.+?\)\ Ltd$| $| LTD$","")," $| LTD$",))
the only part remaining is where it could be random company (PTY) and I need to remove the space before the (PTY) and the (PTY).
any ideas?
Try this formula:
=arrayformula(regexreplace(A2:A,"\s?\(.+\) (Ltd|LTD)$",""))
Output:
Reference:
Regex capturing group
I need help returning a text value "WIP" based on column A matching an entire range.
The range has digits which users will input that match column A but cells will have more than 1 digit which will be seperated by a comma.
I'm not clear on how to do this so i'm stuck somewhere with:
Sumproduct, isnumber, and match yet i'm struggling how to yield a result.
Could you please help?
Thanks a lot!
Spreadsheet link: https://docs.google.com/spreadsheets/d/1XcIql3ZMymqipZsGUyBk3_ze6LMzjQtHTF-ylGDIT_A/edit#gid=0
Output highlighted in yellow
You can try:
=ArrayFormula(IF(Isnumber(MATCH(A9:A38,FLATTEN(SPLIT(FLATTEN(IF(LEN(G8:M18),G8:M18,)),",")),0)),"WIP",))
This is the example sheet.
Alright, in cell V1!A1 is the formula ={"Languages";ARRAYFORMULA(TRANSPOSE(QUERY(TRANSPOSE(B2:F&","),,COLUMNS(B2:F))))}. I need to combine data from B2:F with the delimiter ,. But now I need to delete the unnecessary delimiters.
In sheet V2, I tried ={"Languages";ARRAYFORMULA(REGEXREPLACE(REGEXREPLACE(TRANSPOSE(QUERY(TRANSPOSE(B2:F&","),,COLUMNS(B2:F))),"(^(,(\s,){4})$)|(^(,\s)+)|(,(\s,)?\s?$)",""),"(,\s,)+\s?",", "))} but it's not consistant and still leaves delimiters in the output.
Is there a better way to do this?
I added a sheet called "Erik Help" which replaces your formula with the following:
=ARRAYFORMULA({"Languages";SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(B2:F&" "),,COLUMNS(B2:F))))," ",", ")})
Essentially, instead of appending a comma to elements of the range B2:F, I appended a space. Then I applied TRIM to the results, which will leave no spaces before or after each concatenation and only one between each element. To that, I applied a SUBSTITUTE of the single spaces with a comma-space.