7 ms·
I would expect it to leave my data alone unless told so. It’s one of the little things that drive me crazy with Excel the few times I use it, and every time I n
by ksala_ 4y ago
I would expect it to leave my data alone unless told so. It’s one of the little things that drive me crazy with Excel the few times I use it, and every time I need to search how to make it behave because I don’t use it nearly enough to remember.
- aardvarkr 4y agoI would expect it to store 01234 as a number unless explicitly told to store it as a string. This is exactly how it should work. I’m all for hating on excel but being upset because the software can’t read your mind and your eccentric edge case isn’t automatically picked up is a bit entitled
- ksala_ 4y agoI think I want to do the opposite of reading my mind to be honest. The default cell type is generic, so just assume everything is a string and don’t do any parsing. Maybe show a tooltip to quickly change the cell type if you detect something that might be a number or a date. Probably it’s just different usage - when I use excel is mostly to store a table of raw data where I want to store the actual data, not what excel thing the data is. I’m using it as the equivalent of a database, but simple to update and share with other people (even not technical folks) or to open a csv and quickly hide/filter some data.
- Karellen 4y ago> The default cell type is generic, so just assume everything is a string and don’t do any parsing. So, if you have `1234` in A1 and `5678` in B1, `=A1+B1` should by default produce `VALUE ERROR` rather than `6912`? That's... not why spreadsheets were invented. > when I use excel is mostly to store a table of raw data where I want to store the actual data, not what excel thing the data is. I’m using it as the equivalent of a database, Then use a database program, not a spreadsheet! However, if there are no database programs that fit your needs, and you end up using a spreadsheet instead, don't complain that the spreadsheet acts like a spreadsheet instead of a database. It's not the tool's fault that you're the one using the wrong tool for the job.
- Dylan16807 4y ago> So, if you have `1234` in A1 and `5678` in B1, `=A1+B1` should by default produce `VALUE ERROR` rather than `6912`? If you didn't change anything else, just made A1 and B1 text cells, then adding them would still return 6912. > That's... not why spreadsheets were invented. It's decades later. Why they were invented is not the priority. > Then use a database program, not a spreadsheet! Databases only have a fraction of the capabilities of a spreadsheet. That's not a reasonable response.
- zrobotics 4y agoUmm, if you are treating them as text cells, then adding them would product 12345678 since you are concatenating strings. I just don't think there is any good solution for this, since it's effectively impossible to automatically distinguish numbers that the user wants to treat as strings (like a zip code) and numbers that should be treated as floats or ints.
- Dylan16807 4y ago+ is not concatenation in any spreadsheet program I've seen, and it probably shouldn't be concatenation in anything. That's the solution, having a separate concatenation operator.
- boston_clone 4y agothe '+' operator provides concatenation of strings in both python and C; in Excel, you use '=CONCAT()'... just syntactic differences, is all.
- zrobotics 4y agoYeah, I spend more time doing data manipulation in python than in excel, so I thought that excel would do that as well.
- Dylan16807 4y ago
- mmis1000 4y agoI think the usage to store other type of type is getting popular very late after excel has being invented. It was created to count money. So it would make sense to defaults field to number unless it obviously isn't. People are just using a tool that isn't designed for your current purpose. I think probably the best change it can do is don't alter the data at input. Instead, alter it at display and compute. Then it won't actually corrupt your data anymore. Then for a wrong field type, you just need to change the type, and the correct data will be displayed as expected.
- IanCal 4y agoYour expectation is that it should destructively change what you enter? Why not even just store what I put in and cast when necessary? Zip codes are not a weird edge case either.
- kevin_thibedeau 4y agoThey're weird in that they are text codes rendered exclusively in digits in the US. Most Americans are generally ignorant of this and blissfully input them as numbers and those in the east with leading zero codes have to deal with the blowback.
- eric_h 4y agoStoring a zip code in a column of an excel file is by no means an eccentric edge case. If I type 01234 into a cell, it’s not unreasonable to expect excel to save it (and reproduce it in e.g. a mail merge) that way.
- fencepost 4y agoI would expect it to store 01234 as a number unless explicitly told to store it as a string. These days I'd disagree. Once upon a time explicitly column delimited data with leading 0 padding may have been common, but I suspect in most software written in the last 20+ years leading 0s if included are more likely relevant parts of the data rather than Hollerith card default punches.
- replygirl 4y agoexcel users don't think like this
- danielheath 4y agoExcel users use leading zeroes to indicate they are using a punchcard based format? Seems… unlikely
- replygirl 4y agonot what i'm saying. the vast majority of people who work with spreadsheets have no interest in redefining it to align with other paradigms. spreadsheets work damn well as they are
- 6510 4y agoWhen writing a number you never start with a zero. If something never happens you should favor the scenario that happens quite often. If I type 000012 why would you think I wanted 12?
- hamandcheese 4y agoI would expect it to not destroy data.
- wizofaus 4y agoI don't care how it stores it but if I've input 01234 either manually or via a CSV import etc. I do expect it to remember that there was a 0 at the beginning. Excel's lossy data type conversion has caused more problems than I care to remember over the years. One of them caused a significant sum of money to be deposited in the wrong bank account once.
- pmontra 4y agoIf I explicitly typed a leading 0, I want it to stay unless I'm typing it into a numeric cell. In that case I'm doing something strange and wasting my time but what I want is obviously 1234.
- kadoban 4y agoWhy would anyone type a leading zero on a number? The only time I _ever_ do that are parts of dates, which this wouldn't hit, and octal numbers extremely rarely in code.