===== tasks =====
==== commands I came across ====
^ command ^ description ^
|
* excel.exe /s
* excel.exe /safe
| start excel in safe mode. |
| excel.exe /autumation | do not automatically open files and do not auto-run macros. |
Ref:-
* https://docs.microsoft.com/en-us/office/troubleshoot/excel/files-open-automatically - low information density.
===== useful links =====
==== dummy ====
* refresh pivot table data - https://support.microsoft.com/en-us/office/refresh-pivottable-data-6d24cece-a038-468a-8176-8b6568ca9be2
* sort values in a pivot table - https://support.microsoft.com/en-us/office/sort-data-in-a-pivottable-or-pivotchart-e41f7107-b92d-44ef-861f-24430830450a
==== sum values based on another column ====
=sumifs(D2:D21,F2:F21,"N",E2:E21,"Y")
will compute sum(D2:D21) where F2:F21 are N and E2:E21 are Y.
Ref:
* https://support.microsoft.com/en-us/office/sumifs-function-c9e748f5-7ea7-455d-9406-611cebce642b - talks about other ways of defining the criterion (ex:- "=A*", "<>Bananas", 32, ">32", B4, "apples", "32")
See also:
* https://exceljet.net/formula/sum-if-cell-contains-text-in-another-cell - talks about
* using wild cards, ex:- =sumifs(D2:D21,C2:C21,"*"&F6&"*")
* the sumif function, ex:- =sumif(range,"*"&A1&"*",sum_range)
==== concatenate with a delimiter ====
This will combine B3, C3 and D3 with '_' as the delimiter.
=B3&"_"&C3&"_"&D3
==== format dollars ====
To put the dollar sign on the left and right justify the number, use the custom format
_($* #,##0.00_);_($* (#,##0.00);_($* "-"??_);_(@_)
Ref:-
* https://www.extendoffice.com/documents/excel/3679-excel-align-dollar-sign-left.html - has screenshots; more verbose; messy layout with ads in between content;\\ Afterwards
* Find a better reference and link to it.
* The above link has ""-"", but I get the same result with "-". Find out if there is a difference?
To only show the dollars (but not cents)
_($* #,##0_);_($* (#,##0);_($* "-"??_);_(@_)
tags | dollar sign left justified
===== tips =====
==== format numbers ====
You can bring up the "Format Cells" dialog by clicking on the small arrow button in the bottom right hand corner of the “Number” section.
{{:format_numbers_in_excel.png|}}
==== shortcuts I came across ====
| insert multiple lines in excel cell | Alt + Enter |
==== format as numbers ====
''Ctrl + Shift + !'' will apply number format.
For example, let's say we have
{{:before_applying_number_format.png|}}
Select columns A and B. Press ''Ctrl + Shift + !''. We will then get
{{:after_applying_number_format.png|}}
See also:
* https://www.myonlinetraininghub.com/excel-shortcuts - shows many short cuts. The ''Ctrl + Shift + !'' shortcut is listed in the 'Number Formatting' section.
===== Articles =====
==== clickable links from csv file ====
The idea here is to create a csv file that has clickable links when imported into excel. I prefer csv files as opposed to tab separated or space separated files since the excel importing wizard does not pop up if it is a .csv file but pops for other types such as .tsv and .txt.
% cat junk.csv
5,6,"=HYPERLINK(""http://raju.shoutwiki.com/wiki/Blog"",""Raju Blog"")",8
There is one problem with this approach. Any links longer than 255 characters will be chopped off after 255 characters. This is a limitation of xlsx file format which is what excel uses when trying to open a csv file. So if you are generating the csv file through a perl script and try to open it in excel, long links will not be imported correctly.
As a work around, use the [[http://search.cpan.org/~jmcnamara/Spreadsheet-WriteExcel-2.40/lib/Spreadsheet/WriteExcel.pm | Spreadsheet::WriteExcel]] module and directly write the xls file. In any case, do not use the [[http://search.cpan.org/~jmcnamara/Excel-Writer-XLSX-0.86/lib/Excel/Writer/XLSX.pm | Excel::Writer::XLSX]] which generates a .xlsx file.
Related links:-
* Bug report on the 255 character limit - https://github.com/jmcnamara/excel-writer-xlsx/issues/26
* http://search.cpan.org/~jmcnamara/Spreadsheet-WriteExcel-2.40/lib/Spreadsheet/WriteExcel.pm
* http://search.cpan.org/~jmcnamara/Excel-Writer-XLSX-0.86/lib/Excel/Writer/XLSX.pm
Sample code to write .xls file
#! /usr/bin/perl
use strict;
use warnings;
use autodie;
use Spreadsheet::WriteExcel;
# The advantage of using Spreadsheet::WriteExcel is that it can write xls files
# which can contain arbitrarily large hyperlinks. If you use
# Excel::Writer::XLSX module and create xlsx file instead, the
# hyperlinks can't be larger than 255 characters.
# Create a new Excel workbook
my $workbook = Spreadsheet::WriteExcel->new( 'clickable_link.xls');
# Add a worksheet
my $worksheet = $workbook->add_worksheet();
my $row = 0;
my $col = 0;
my $format = $workbook->add_format( color => 'blue', underline => 1 );
$worksheet->write_url( $row, $col, 'https://www.google.com', 'google', $format);
$workbook->close();
==== [@] ====
The @ symbol that precedes the column name of a table represents “this row”. So [@foo] means “the value in this row and column foo.”
See "Using Formulas in Tables" section of [[http://apprize.info/microsoft/excel_9/10.html | Excel 2016 Bible]] which explains this syntax.
{{tag>["columnar operations"]}}