QGIS doesn't like you trying to join polygon to polygon this way. It doesn't know what to do with the geometry (`QgsFeature.setGeometry(QgsGeometry): argument 1 has unexpected type 'NoneType'`). It would better work with a mix point/polygon.

You rather need some [Union tool][1] if you want to keep all of the input geometry (below A area, plus A x B overlay area, plus B area). You will then have some data in the attribute table, that you can use afterwards in Excel.

 - Make sure each rollout area has a unique id, each postcode area its unique
   postcode code. 
 - Do the Union, then update a area field, 
 - Then export to Excel. 
 - With a pivot table, you'll have you info.

![Union][3]

> #Union#
> 
> ##Description##
> 
> *This algorithm combines the feature(s) of both layers. Features that lie partially within the other layer’s features will be split. Areas
> that lie within both layers will be added as new features. If any
> features are selected in either of the layers, then only those
> features are used in the operation. If no features are selected then
> the operation is performed using all features.*
> 
> ##Parameters##
> 
>  - Input layer [vector: any] : One layer containing feature(s) to be    unioned. 
>  - Input layer 2 : [vector: any] : Second layer containing    feature(s)    to be unioned.
> 
> ##Outputs##
> 
>  - Union [vector] : Where to save the union layer. Can be saved to file, a temporary file or a memory layer.


Nb : If you only need A x B area, you'd rather need to look out at the [Intersect][2] tool

  [1]: https://docs.qgis.org/2.14/en/docs/user_manual/processing_algs/qgis/vector_overlay_tools.html#union
  [2]: https://docs.qgis.org/2.14/en/docs/user_manual/processing_algs/qgis/vector_overlay_tools.html?highlight=intersect#intersection
  [3]: https://i.sstatic.net/XY4hF.png