logo
search
Formula Errors

How to Convert a Text String into a Working SUM Formula in Excel

Muhammad TalhaMuhammad Talha Oct 9, 2026 869 views

Question details

The user needs to convert a concatenated text string that represents a range into an active SUM formula, specifically for dynamically summing repeating 7-row data blocks.

How to Convert a Text String into a Working SUM Formula in Excel
Product
Excel
Device & OS
not provided
Scenario
Creating dynamic sum formulas across multiple repeating blocks of worksheet data.
Observed behavior
The CONCATENATE function outputs the SUM expression as a static text string rather than calculating it as a mathematical formula.
Before you start

Ensure that the sheet name and range references in your text string perfectly match the actual worksheet data to avoid #REF! errors when converting the string into a formula.

Solution 1Recommended

Use the INDIRECT Function to Evaluate Text as a Range Reference

The INDIRECT function converts a text string into a valid Excel reference, allowing the SUM function to correctly calculate the values within that specific text-defined range.

When you build a formula using CONCATENATE, Excel treats the final output as plain text. Wrapping that text string in the INDIRECT function tells Excel to evaluate it as a spatial cell reference instead.

1
Select the target cell

Click on the cell where you want the final SUM calculation to appear.

2
Enter the INDIRECT formula

Type the formula =SUM(INDIRECT("'Store Compiled'!F18:F24")) to evaluate the specific text string as an active range formula.

3
Apply dynamic row variables for data blocks

For repeating 7-row data blocks, combine INDIRECT with the ROW function to dynamically update the range. Enter =SUM(INDIRECT("'Store Compiled'!F" & (ROW(A1)-1)*7+18 & ":F" & (ROW(A1)-1)*7+24)).

4
Drag to fill

Press Enter to calculate the formula, then click and drag the fill handle down to apply the dynamic calculation to the rest of your summary table.

Use the INDIRECT Function to Evaluate Text as a Range Reference
Understanding Volatile Functions: INDIRECT is a volatile function, meaning it recalculates every time any change is made to the workbook. Excessive use across thousands of rows may slow down your spreadsheet.

Calculate Dynamic Text Formulas Easily with WPS Spreadsheet

WPS Spreadsheet fully supports the INDIRECT, SUM, and ROW functions, making it simple to convert text strings into working dynamic formulas for complex data blocks.

  1. 1. Open your workbook: Launch WPS Spreadsheet and open the file containing your text string formulas.
  2. 2. Select the formula cell: Click on the cell where you need the dynamic sum to be calculated.
  3. 3. Input the INDIRECT function: Type =SUM(INDIRECT(your_text_reference)) wrapping your dynamic row logic.
  4. 4. Calculate and apply: Press Enter to instantly calculate the text as an active formula, then drag down to fill.
100% compatible with Microsoft Excel formulas, functions, and .xlsx formatsProcess complex volatile functions and large datasets with high performanceFeature-rich, lightweight, and completely free to useFamiliar user interface requiring zero learning curve
microsoft office alternative - wps office

Frequently Asked Questions

Why is my Excel formula showing as text instead of calculating?

If the cell format is set to 'Text' before you enter the formula, or if you use functions like CONCATENATE to build the expression, the software treats the input as a literal string. You must use INDIRECT to evaluate text references, or change the cell format to 'General' and press F2 then Enter.

Can I use the EVALUATE function in Excel to convert text strings to formulas?

Yes, but EVALUATE is a legacy macro function. It cannot be used directly in standard worksheet cells. You must define a Named Range that uses EVALUATE and then refer to that Named Range in your target cell.

How do I dynamically sum rows that are grouped in blocks of 7?

You can use a combination of the OFFSET or INDIRECT function alongside the ROW function to create a dynamic range. Multiplying the ROW result by 7 (e.g., ROW(A1)*7) allows you to automatically jump 7 rows down for each sequential cell you drag the formula into.