convert “US Number Format To European” in Pivot table excel - excel

My system setting is such all the numbers will be displayed US number format. I have a one off requirement where I need to convert the numbers to European Format. I have found a way to convert the numbers to European format using formula =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(FIXED(B3,2,FALSE),".","$"),",","."),"$",",")
However when I tried create a pivot table the converted numbers are not getting aggregated and value is Zero. I know since my system setting is set up with US number format the numbers are not getting aggregated.To make it work everytime I have to change my system settings to European format and aggregate the data.
It would be of great help if any suggests me any alternative method to change the number format in pivot table.
Thanks,
Ganesh

You should change the formatting of the values, not convert your number value into a string.
E.g.: select your cells, press ctrl-1.

Related

Xls export dispays large numbers as decimals

I am exporting a report in exel format, however, for customer identifiers that are more than 12 digits, the exel displays them as decimals eg 9876520220007 is displayed as 9.88E+12 or as 9.876520220007. This makes it very hard to verify data because the customer identifier is used to check if the records are correct. Any recommendations or links on how i can display the full number will be apreciated. Thanks
My data:
Link to sheet : here
How are you getting the data into excel? Is it via a csv?
In which case you can use the get data from file option which lets you specify the column type as text before excel messes with it.
You can also set the column format to text. This doesn't fix the ones that excel has already interpreted as a long number but any new ones you paste or type in will stay as text.
You can also put an apostrophe before the text in the cell which forces it to be text.
Thats the only one I can suggest up to now as I don't know how you are getting the data into excel.
Select the column and right-click to format cell, and set the decimal place to 0 that should do the trick. but I see you have different types of data in the column you might need to update it individually depending on the case
but I see the

Comparing dates coming from different files in Excel

I am trying to link two Excel files and compare the values from first one in the second one, but I have a problem at some point.
So the date 28/07/2021 comes from the other file (which is call 3WLA). I had to use the function TEXT(..., "dd/mm/yyyy") otherwise it displays 44405 which is an other form of the date. Now I want to compare this date with other ones but it doesn't work as showed in the pictures below.
The picture shows the comparison of two dates coming from the other excel file 3WLA (still using the function TEXT(..., "dd/mm/yyyy")). We clearly see that there is a problem as it should display TRUE. In the same way, when I compare a date from 3WLA (i.e. using TEXT(..., "dd/mm/yyyy")) with a date random in my file it give me the following
where 28/07/2021 is given by = TEXT('[3WLA.xlsx]Block-First-Fix'!$AM$1,"dd/mm/yyyy") and 29/07/2021 by = 29/07/2021
chris neilsen already gave you the answer in the comments.
To clarify further: The text "29/07/2021" and the date formatted to look like "29/07/2021" are different data types. To help with this MS Excel automatically formats numbers and dates to be aligned to the right and normal text to be aligned to the left
In B1 you can see that the date has been formatted in the same way as per the formula in A2, but since the output in B2 is of the text data type, the two are not considered the same.
You can use the formula DATEVALUE to convert from text to date serial number. (Read more about date serial numbers here).
If your texts with dates are too different from your local settings date formats, DATEVALUE might not give you correct results. In that case use DATE function in combination with some text functions such as LEFT, MID, RIGHT
You can format the cell to make the date more readable using either the number formatting field or the dropdown from the ribbon

Excel VBA convert texts to numbers and dates

I have a worksheet that contains data downloaded directly from a database. It contains all texts including text-format dates and revenues. I want to convert 1 column from text to numbers, and 1 column of text (of dates) into dates format so that I can check for year and month to use SUMIFS() function.
Additional information: as you can see from the attached image, in the Close Date column, the dates are all in 30.11.2016 format, connected with dots, and is in a dd.mm.yyyy expression but all in texts.
In the Amount column, the number of revenues are actually in a European expression, 50000,00 which actually means 50000.00, and 50000,00 is in text format.
Currently, I am using the LEFT(), MID(), RIGHT() functions to extract the strings of numbers of year, month, and day, and then DATE() function to convert to dates.
For the Amount column numbers, I am simply using TexttoColumns to do the manual work of conversion.
Is there a way to do these works in VBA? Can someone help me with the codes? I have some basic programming experience, but I have never exposed myself to VBA before.
Millions of THANKS! I really appreciate it!
You can use Power Query for that. No coding required. Start a query and click the ribbon icons in the Query Editor to transform data, for example replace commas with dots, change type from text to number etc. Each action will be recorded as a step, using the M language. If desired, the M code can be manipulated, but for something this simple you don't need to.
The query can be refreshed when the source data changes.
Power Query is a free add-in from Microsoft for Excel 2010 and 2013 and it is built into Excel 2016 as Get & Transform.
I would just use the Find and Replace function. Highlight the date column, find "." and replace with "/". Then that will give you some dates. You can do the same with "," and replace with "." - if it still appears as text, then you can convert to numbers from there. (in any case, VBA will be just harder work for you)

Reporting Services Format as number

I'm trying to format a column in reporting services to display a number with thousand separator and with commas. The expression I'm using is the following:
=Format(Fields!Price.Value, "#,##0.00")
It works great. Also if I use the expression:
=FormatNumber(Fields!Price.Value, 2, true, false, true)
works great too. The PROBLEM is when converting to excel. The column displays in excel as expected but the format of the cell is General instead of number with thousand separator. As a result users cannot apply formulas to the columns due to is treated as string (General formatting). I know I can convert in excel the column to Number format but I'd like that when converting to excel via reporting services the column just appears in number format.
Is it possible? Searching in google doesn't give me any clues.
Thanks in advance
The problem is that Format returns a string so that is what it is converting to in Excel.
To acheive what you want, simply format the item using the Format property. Click on the cell, open the property window and update the Format property to be #,##0.00
Even better, to make your application international, update the Language property of the report to be =User!Languageand then use N2 as your format property for the cell.

Some dates recognized as dates, some dates not recognized. Why?

Here is a list of dates:
04-22-11
12-19-11
11-04-11
12-08-11
09-27-11
09-27-11
04-01-11
When you copy this list in Excel, some of them are recognized as dates, others not, in the following manner:
04-22-11
12-19-11
11-04-11 (date)
12-08-11 (date)
09-27-11
09-27-11
04-01-11 (date)
Does anyone know why? And how to force Excel to recognize all list items as dates?
Many thanks!
It is caused by Excel auto-recognizing/formatting the cell contents, but in unclear/inconsistent ways.
Fixing it is not that hard...
Check out this forum post:
http://www.pcreview.co.uk/forums/excel-not-recognizing-dates-dates-t3139469.html
The steps in short:
Select only the column of "dates"
Click Data > Text to Columns
Click Next
Click Next
In step 3 of the wizard, check "Date" under Col data format, then
choose: "DMY" from the droplist.
Click Finish
This is caused by the regional settings of your computer.
When you paste data into excel it is only a bunch of strings (not dates).
Excel has some logic in it to recognize your current data formats as well as a few similar date formats or obvious date formats where it can assume it is a date. When it is able to match your pasted in data to a valid date then it will format it as a date in the cell it is in.
Your specific example is due to your list of dates is formatted as "m/d/yy" which is US format. it pastes correctly in my excel because I have my regional setting set to "US English" (even though I'm Canadian :) )
If you system is set to Canadian English/French format then it will expect "d/m/yy" format and not recognize any date where the month is > 13.
The best way to import data, that contains dates, into excel is to copy it in this format.
2011-04-22
2011-12-19
2011-11-04
2011-12-08
2011-09-27
2011-09-27
2011-04-01
Which is "yyyy-MM-dd", this format is recognized the same way on every computer I have ever seen (is often refered to as ODBC format or Standard format) where the units are always from greatest to least weight ("yyyy-MM-dd HH:mm:ss.fff") another side effect is it will sort correctly as a string.
To avoid swaping your regional settings back and forth you may consider writting a macro in excel to paste the data in. a simple popup format and some basic logic to reformat the dates would not be too difficult.
In your case it is probably taking them in DD-MM-YY format, not MM-DD-YY.
The quickest and easiest way to fix this is to do a find and replace on your date seperator, with the same separator.
For example in this case Find "-" and Replace with "-", not sure why this works but you will find all dates are right-aligned as they should be after doing this.
Here is what worked for me. I highlighted the column with all my dates. Under the Data tab, I selected 'text to columns' and selected the 'Delimited' box, I hit next and finish. Although it didn't seem like anything changed, Excel now read the column as dates and I was able to sort by dates.
The simplest solution is to put yy,mm,dd into the date() formula by first extracting them with left(), mid() and right(). In this case, assuming your input date is in A1:
=date(right(A1,2)+100,left(A1,2),mid(A1,4,2))
Explanation of above:
=right(A1,2) gets the last two digits in the cell (yy). We add 100 because it defaults to 1911 instead 2011 (omit +100 if it doesn't do that on yours)
=left(A1,2) gets the first two digits in the cell (mm).
=mid(A1,4,2) gets 2 digits in the middle of the cell, starting at 4th digit (dd).
Why this happens in the first place:
I come across this problem all the time when I import Canadian bank data into excel. In short, your input date format does not match your regional settings.
Seems your setting mean Excel wants date input as either DD-MM-YY or YY-MM-DD, but your input data is formatted as MM-DD-YY.
So, excel sees your days as months and vice-versa, which means any date with day below 12 will be recognized as a date, BUT THE WRONG DATE (month and day reversed) and any date with day above 12 won't be recognized as a date at all, because Excel sees the day as a 13th+ month.
Unfortunately, you can't just change the formatting, because Excel has already locked those day/month assignments in place, and you just end up moving what Excel THINKS are days and months around visually, not reassigning them.
Frankly, it is surprising to me there is not a date-reverse tool in excel, because I would think this happens all the time. But the formula above does it pretty simply.
NOTE: if your dates don't have leading zeros (i.e. 4/8/11 vs 04/08/12) it gets trickier because you have to extract different amounts of digits depending on the date (i.e. 4/9/11 vs 4/10/11). You then have to build a couple if statements in your formula. Gross.
Here is what worked for me on a mm/dd/yyyy format:
=DATE(VALUE(RIGHT(A1,4)),VALUE(LEFT(A1,2)),VALUE(MID(A1,4,2)))
Convert the cell with the formula to date format and drag the formula down.
Right-click on the column header and select Format Cells, the chose Date and select the desired date format. Those that are not recognized are ambiguous, and as such not interpreted as anything but that is resolved after applying formatting to the column. Note that for me, in Excel 2002 SP3, the dates given above are automatically and correctly interpreted as dates when pasting.
A workaround for this problem consists in temporarily changing your regional settings, so the date format of the CSV imported file "matches" the regional settings one.
Open Office seems to work in a similar way for that issue, see: http://www.oooforum.org/forum/viewtopic.phtml?t=85898
I come across this problem when I tried to convert to Australian date format in excel. I split the cell with delimiter and used the following code from split cells then altered the issue areas.
=date(dd,mm,yy)

Resources