logo
search
Function Problems

Fix DGET Function Not Accepting Inline Array Criteria in Excel

Chanuka GeekiyanageChanuka Geekiyanage Sep 28, 2026 869 views

Question details

The user is experiencing an issue where the DGET function fails to process inline arrays or dynamically generated arrays directly within the formula's criteria argument.

How to Fix DGET Function Not Accepting Inline Array Criteria
Product
Spreadsheet
Device & OS
not provided
Scenario
Writing a database formula (such as DGET) and attempting to use an inline array or a VSTACK formula result directly as the criteria condition.
Observed behavior
The DGET function returns an error because it strictly requires a worksheet cell range for its criteria argument and does not recognize inline arrays or memory-based dynamic arrays.
Before you start

Ensure you have a few blank cells available above or beside your main dataset to manually input your database criteria headers and conditions.

Solution 1Recommended

Use Dedicated Worksheet Cells for the Criteria Range

The standard and required method for using database functions like DGET is to reference physical worksheet cells that contain the criteria headers and values.

Database functions in spreadsheet software are designed to read criteria from a specific range on the sheet. They cannot process inline arrays like {"Height";">16"} directly inside the formula arguments.

1
Set up the criteria header

In a blank cell outside your dataset, type the exact column header name you want to filter by (e.g., type 'Height' in cell G1).

2
Enter the condition

In the cell immediately below the header, type your specific condition (e.g., type '>16' in cell G2).

3
Update the DGET formula

Modify your DGET formula to reference these specific cells. For example, use =DGET(A1:D100, "Name", G1:G2) instead of manually typing the array.

Use Dedicated Worksheet Cells for the Criteria Range
Exact Match Required: Ensure that the criteria header you type in the worksheet perfectly matches the column header in your main database range, otherwise the function will return an error.
Advanced Data Management

Master Database Functions in WPS Spreadsheet

WPS Spreadsheet fully supports advanced database functions like DGET, DSUM, and DCOUNT. You can easily set up criteria ranges on your sheets to extract and manage specific data from large datasets.

  1. 1. Open your data file: Launch WPS Spreadsheet and open the document containing your database.
  2. 2. Create a criteria range: Select blank cells to type your criteria column headers and their corresponding conditions.
  3. 3. Apply the DGET formula: Type =DGET into your target cell, select your database range, the field you want to extract, and highlight your newly created criteria cells.
  4. 4. Extract the data: Press Enter to instantly retrieve the specific record that matches your conditions.
100% compatibility with Microsoft Excel database functions and file formats.Clean, intuitive interface for managing complex datasets and cell references.Lightweight software that processes large arrays and database formulas quickly.
microsoft office alternative - wps office

Frequently Asked Questions

Can I use VSTACK directly inside DGET's criteria argument?

No, DGET strictly requires a physical cell range. You cannot nest dynamic array functions like VSTACK directly into the criteria argument. You must output the VSTACK result to a worksheet cell first and reference that spilled range.

Which other functions share this criteria range limitation?

All database functions that begin with the letter 'D' share this requirement. This includes functions like DSUM, DCOUNT, DMAX, DMIN, and DAVERAGE. None of them accept inline arrays for criteria.

Why do spilled arrays work but inline arrays fail in DGET?

A spilled array occupies physical cells in the worksheet, giving the data concrete cell addresses (like A1:A2), which satisfies the DGET function's requirements. An inline array like {"A";"B"} only exists in the software's memory during calculation and lacks a physical cell reference.