## The solution ``` array_sum( array_foreach( string_to_array ( "list of polygons" , ','), attribute (get_feature (@layer, 'name', @element), 'area') ) ) ``` ## Explanation The error in your expression is that you use the funtion `area()` with the argument `@element`, but @element returns the name of a polygon, whereas `area()` expects a polygon-geometry as input. The functions `area()` as well as `$area` calculate the area from the geometry. You, however, just want to add values that already exist in an attribute. ## How to implement 1. So inside the `array_foreach()` function, you get the name of one of the polygons. You then must identify the feature (line in your attribute table) of this feature - like line 2 for feature B in your example. Use `get_feature()` for that. 2. That for this feature, get get the value of the attribute named `area`, using the function `attribute()`.