Yes, spreadsheets are definitely programming. I use spreadsheets to implement GUI applications for specific administrative/planning tasks, for example:
- At work I'm tasked with grouping 40 administrative areas into larger geographically cohesive groups so that each group is roughly 20 km² in total area. This can be done by hand, sure - and I could also implement a GUI in some web framework to help me do it - but a spreadsheet lets me quickly develop a special-purpose application with good-enough usability, and it's all in all faster and more intellectually satisfying than solving the original problem by hand with a calculator.
- For planning a 120-person dinner party I need to make a table plan, organizing the guests into a certain number of 8-person, 10-person and 12-person tables (constrained by the tables available at the venue). Sure, I could cut out 120 pieces of paper and write the guest names on them, or copy-and-paste names around in a plain text document, but again a spreadsheet lets me quickly count how many guests have been allocated to each table and whether the current allocation uses the correct number of each size of table.
- At work I'm tasked with grouping 40 administrative areas into larger geographically cohesive groups so that each group is roughly 20 km² in total area. This can be done by hand, sure - and I could also implement a GUI in some web framework to help me do it - but a spreadsheet lets me quickly develop a special-purpose application with good-enough usability, and it's all in all faster and more intellectually satisfying than solving the original problem by hand with a calculator.
- For planning a 120-person dinner party I need to make a table plan, organizing the guests into a certain number of 8-person, 10-person and 12-person tables (constrained by the tables available at the venue). Sure, I could cut out 120 pieces of paper and write the guest names on them, or copy-and-paste names around in a plain text document, but again a spreadsheet lets me quickly count how many guests have been allocated to each table and whether the current allocation uses the correct number of each size of table.