Every hour, finds the rows on a Google Sheets tab where a column holds a value you choose, or is empty, ready for the steps you add.

UsesGoogle Sheets

Find matching rows in a spreadsheet

ScheduleRun every hour.Run every hour.
ValuesSet spreadsheetUrl to blank.Set spreadsheetUrl to blank.
ValuesSet tabName to blank.Set tabName to blank.
ValuesSet lookupColumn to blank.Set lookupColumn to blank.
ValuesSet lookupValue to blank.Set lookupValue to blank.
Google SheetsGoogle SheetsRead the rows of spreadsheetUrl. Save it as sheet.Read the rows of spreadsheetUrl. Save it as sheet.
ValuesSet found to nothing.Set found to nothing.
Decisions & LoopsIf a step below fails, save the error as searchErrorIf a step below fails, save the error as searchError
Try
CodeRun Python code on rows, headers, column, value, and tab and save it as found.Run Python code on rows, headers, column, value, and tab and save it as found.
On error
Decisions & LoopsIf searchError.message contains inputs are too largeIf searchError.message contains inputs are too large
Yes
Decisions & LoopsStop and report a problem: The '@tabName' tab has sheet.count rows, more than this workflow can search in one run: the search takes up to 1 MB of the sheet, which is a few thousand rows of a typical sheet. Move rows you no longer need to search onto another tab so this one fits, then run it again.Stop and report a problem: The '@tabName' tab has sheet.count rows, more than this workflow can search in one run: the search takes up to 1 MB of the sheet, which is a few thousand rows of a typical sheet. Move rows you no longer need to search onto another tab so this one fits, then run it again.
No
No steps
Decisions & LoopsStop and report a problem: searchError.message.Stop and report a problem: searchError.message.
Decisions & LoopsIf found.problem isn't blankIf found.problem isn't blank
Yes
Decisions & LoopsStop and report a problem: found.problem.Stop and report a problem: found.problem.
No
No steps
ListsKeep each item in sheet.rows where found.row_numbers contains item.row_number and save it as matchingRows.Keep each item in sheet.rows where found.row_numbers contains item.row_number and save it as matchingRows.
ValuesShow in the output: found.summary.Show in the output: found.summary.