A data grid/table collecting different values for different rows

I would like to implement an editable data grid that will collect a number of "common" values for each row, but that also collects a number of additional values that will vary from row to row.

Let's say that A-E are the "common" form values. Additionally, row #1 requires three further values: F/G/H, row #2 requires I/J/K, row #3 L/M/N. These additional values won't necessarily be different for each row, e.g. row #4 might need F/G/H (like row 1), row #5 might require L/M/N, and so on.

My first thought was to present all 14 values (A-N) as columns, then disable/grey out cells that aren't applicable in each row. This doesn't feel very user friendly, and will obviously result in a lot of columns (the real system will be collecting a lot more values than in the above example).

My second thought was to only display the common values (A-E) in the data grid, and selecting a row expands it to show a "form" where the row-specific values can be entered (e.g. F/G/H for row #1). Alternatively this "form" could be displayed alongside the data grid, reflecting the values of the currently selected row, although this personally feels a little more clunky.

Any other suggestions? It's a desktop application, and the main stakeholder (scientist) is a big fan of data grids as it makes it easy for him to quickly and easily copy and paste values across multiple rows. There could be hundreds of rows in this particular use case. I suspect he won't be a fan of the inline/sidebar "form" idea, as there isn't really any scope to implement copy/paste between rows. Even if I did go with the "all columns" approach, implementing copy/paste here would be tricky due to the way different cells can be disabled in different rows.