Converting Excel range operations to SQL equivalent

I’m working with data that was originally in Excel and I need to figure out the best way to handle it in SQL. In Excel, I had a named range called DataSet that contained mixed values in a rectangular area (like A2:C5). The range had numbers, text, and other data types scattered throughout the cells.

In Excel, I could easily sum all numeric values with =SUM(A2:C5) which would automatically ignore non-numeric entries and give me the total.

Now I’m trying to recreate this functionality in SQL but I’m not sure about the best approach. Here are the methods I’ve considered:

Option 1 - Using arrays:

-- dataArray = [5,3,7,2, ...]
SELECT SUM(value) FROM UNNEST(dataArray) AS t (value);

Option 2 - Single column table function:

-- singleColData = (SELECT 5 UNION ALL SELECT 3 UNION ALL ...
SELECT SUM(value) FROM singleColData as t (value);

Option 3 - Multi-column table:

-- multiColData = (SELECT 5,3,7 UNION ALL SELECT 2,'text',4 UNION ALL ...
SELECT SUM(col1+col2+col3) FROM multiColData (col1,col2,col3)

Which approach would be most efficient and maintainable for handling Excel-like range operations in SQL? The single column approach seems simpler but requires more verbose syntax compared to Excel’s straightforward SUM function.