Hacker News new | ask | show | jobs
by shagie 175 days ago
> but your only tool is Excel instead of some programming language

There is little difference between (if (> a b) c d) and =IF((A1 > B1), C1, D1)

Excel is the most widely installed functional programming language IDE.

2 comments

Change the language of your Windows system to anything but English and then open your Excel file with formulas again.
When I worked at a university's tech support, this was a recurring problem. People made grade lists in Excel, then imported them into the digital learning environment, which occasionally was set to a different language. This meant that the decimal point would be disregarded, and e.g. an 8.5/10 would be imported as an 85 (which got clamped to 10). Maximum grades for everyone, confused students and teachers :')
Even better: grades range from 1.0 (best) to 5.0 (failed) with partial grades (.3, .7) in-between. Caused a few problems when a 1.3 got interpreted as the first May and converted to the number of days between the epoch and the first ofay of that year.
I don't get your point

programming languages aren't allowed to be in non-english somehow?

ok, what happens? (I'm not messing around on my system right now ...)
Localization of formulas. On my system, all parameter-separating commas have to be replaced with semicolons.
That is shocking. Excel is used by every international organization, probably. How do they manage the localization?
Maybe the files store the formulas in an intermediate format that can be localized by the client
That sounds correct. This issue would be when the decimal separator matches the argument separator. In that situation =IF(A1 > 42.1, B1, C1) would be equivalent to =IF(A1 > 42,1; B1; C1)

The possibility of incorrect parsing of equation with a variadic function that contains a decimal number in the equation.

However, this is a localization as even the functions change names.

https://www.reddit.com/r/excel/comments/1flsvyu/separator_co...

    It’s just a locale setting as to which is applied. If you use English (US or UK) then your argument separator will be a comma. If you use other languages, then a semi colon will apply. You’ll find most guidance online referring to English language functions and comma separators, but ultimately it doesn’t really matter. If you ship a spreadsheet to me that you wrote in German functions and syntax that contains:

    =SVERWEIS(X2;A:C;3;0)
    I’ll open that and find

    =VLOOKUP(X2,A:C,3,0)
This suggests client localization that is rendered differently with different language settings.
The GGP says,

> On my system, all parameter-separating commas have to be replaced with semicolons.

That implies the user has to manually change the syntax.

Classic one++ (-: