Hi @NISHITHA
Read the Sheet1 to datatable as dt_input and Sheet2 to dt_input2, Use the below linq
dt_Result= dt_input.AsEnumerable().SelectMany(Function(row1) dt_input2.AsEnumerable().Where(Function(row2) CType(row2("SupplyId"), String) = CType(row1("SupplyId"), String)).Select(Function(x) dt_input.Clone().LoadDataRow({x("SupplyId").ToString(), CDbl(row1("Product")) - CDbl(x("Product")), CDbl(row1("KeyProducts")) - CDbl(x("KeyProducts"))}, False))).CopyToDataTable()
Write the dt_Result to Sheet3 which solves your usecase!
Output:

Do mark it as a solution if it helps you!
Thank You