Excel formula for static timestamp - excel-formula

I need a static timestamp to be created when a user adds data in a sheet.
I don't want to use a worksheet change event as this will not run in SharePoint and likewise the formula below will not work if the user has not enabled iterative calculation (they won't know to do this)
=IF(A2<>"",IF(B2<>"",B2,NOW()),"")
Is there an alternative formula that does not require iterative calculation?
I note that MS Forms supports static timestamps, so it's surprising this much-requested functionality is so hard to establish directly in Excel!

Related

Same spreadsheet structure and formulas but different data

I have a dozen spreadsheets with identical structure and formulas, essentially tables, only the data differ, say one spreadsheet per country.
For example there is a spreadsheet to manage the US employees, another for the UK employees, and another for the Canada employees.
They are exactly the same except that each will store a different set of employees.
The spreadsheets act both as a database to store data and a user-interface to interact with data.
Each change (updating or adding a formula, updating some drop-downs values, changing style...) has to be replicated in all the spreadsheets which is time consuming and error-prone.
As an example I could change the formula to compute the seniority of each employee by editing the 3 spreadsheets.
I was wondering if there was a reasonably simple way to avoid duplicating the common parts, only having different data.
I'd like to avoid a full-blown development with plenty of VBA code, a complete database, some user input forms... but if really necessary I can write some VBA and build some database to fill in the blanks if there is no out-of-the-box solution.
With a full-blown development I would do something like:
store all the employees in a single SQL database table
develop a single spreadsheet
when opening the spreadsheet ask the user to choose a country to only load the this country's employees
save the data changes to the database
If you're effectively talking about an efficient way to handle version control so that input sheets that have previously been distributed to users match a master template, then I'm afraid there is no out-of-the-box solution.
I use something along the lines of http://datapigtechnologies.com/blog/index.php/building-version-control-in-excel/ to force users to download the latest template should they be using an older one.
In addition, I also place a big note at the top to prompt users to download a new template each time, rather than recycle an old one, because if a user didn't enable macros the automatic download of the latest template won't kick in.
Note that the above screenshot shows a form that I've built in Excel's grid itself, using shudder merged cells. (i.e. It is not a userform)
If the templates need to preserve user-submitted data that isn't held centrally, then you're probably going to need to develop an add-in along the lines of what the authors do in the book Professional Excel Development.

Toggle Calculation Mode in Excel with Add-In

I'm working with the Office JS API to create an Add-In for Excel.
I'm applying a block of data to a table (8784 x 5) with several referencing formulas. Applying the data via range.values = values is pretty slow (~15 seconds) while automatic calculations are turned on. Applying data with auto calcs turned off is significantly faster (<3 seconds). Is there a way to manipulate the calculation mode via the Office JS API? I know that I can see the read-only value of the mode, but I don't see any way to adjust it.
I'd like to turn on manual calcs, apply data, turn back on auto calcs.
Setting calculation mode is in our backlog and is an important feature that we need to add (no timeline yet); however as you noted for now it is read-only. In addition we are currently working on range, worksheet level calculate functions, which may help with workbooks that are already in manual mode.
For larger tables with formulas, there are few pitfalls you can avoid as described here.

Excel Define Cell Name Using Office.JS

In Excel 365 app, how I can set the Name using excel 365 api at runtime ? In Dev.Office.com, they have provided read-only property to get the name.
Background:
Working on Excel Office 365 apps. We have a pre-define template and for every cell which we use in calculation have defined names for it.
I need to provide the functionality to add multiple cells based on user request(button click on task pane) and use these cells in calculation. I know how to add the field(cells) but stuck at defining the names. There is no way for us to evaluate the formula unless we use excel cell reference such as (B10, C24, etc) which we want to avoid.
Is there any other option to use like content control ?
Note : This is I wanted to do using excel 365 api.
Currently, the names (named ranges and any other constants) are in fact read-only. The good news is that we are in the process of implementing the named-range-addition/manipulation functionality. Unless we run into unexpected difficulties, we should have it available in the coming months (likely as part of ExcelApi 1.4 -- though again, no guarantees there, just an estimate if all goes to plan).

Sort text-based information into different sheets

I am creating a tracking document for artists' accommodation as part of an arts festival and would like to automate part of my work flow. Whilst we use event management/scheduling software for confirmed bookings, it's nice to do all my working in Excel.
I would like to have a master sheet (sheet 1), with a full list of artists and their respective accommodation - that can then be sorted into individual sheets (sheet 2, 3 etc) based on the name of the accommodation. The automatic sorting would also capture the other pieces of information in the row.
This would allow for each different sheet to show a report on who is staying in each type of accommodation and would be rather handy!
I would recommend one or more PivotTables as a simpler solution. Here a PT and two clones are shown on your Master Sheet, but they could each be on their own sheet:
Accom is in Report Filter, Company is in Row Labels and PAX (as Sum) is in Σ Values. Once having clicked on PivotTable in Insert > Tables - PivotTable and having chosen you range ('Master Sheet'!$A$2:$C$7A2:C7) and Location just drag the fields from the big box to the little ones.
This is feasible using Excel, but I don't recommend it; it is creating a maintenance nightmare in the long run.
From the question I can't gather whether the data is available in some kind of event management software package; if so you can use that one as a data source. Or create an Access or SQL database with a few tables. After that, you can use one of the following options to make the necessary overviews and as many more as you think up during the project:
Use Excel with ODBC or web query to retrieve data aggregated and
sorted as you like. Make changes in the event management package
allowing others to see the same facts. Or do it in Access. When you
change one thing, it automatically propogates also into the Excel.
Similarly, you can use an Excel add-in such as Invantive
Control (caution I work at a supplier) to retrieve the data from
the database using SQL or a webservice, change it from within Excel and
then synchronize the changes back assuming you have write access.
A similar solution is available as SQL*XL. Probably there are others too.
If the solution must be Excel only, I would recommend using vertical/horizontal lookups with the Excel function vlookup / hlookup (Dutch: vert.zoeken, horiz.zoeken). These function perform reasonable with a small amount of data and performance can be improved by sorting. And they resemble SQL joins, so the database you get within Excel more easily conforms to the relational model.
I hope the event is successfull and the people enjoy it.

What's the easiest language/api/webapp to build a public calculator for simple 4-5 equation functions?

Most of what I need to accomplish is doable with Google docs spreadsheets, except locking only certain fields to allow updates by the public so they can do their own calculations based on the data. I would like the lowest method entry cost of writing simple table data with some functions that allow user update/selection. Free form portable/gadget style would be terrific.
I imagine excel could do a lot of what I'm looking for but I don't think it would do what I want without a download of the excel doc, or making someone copy off my google doc spreadsheet to their own, thus losing automatic updates made to the sheet if they just use mine.
I've been trying to do this off and on in asp.net mvc, but when I have full c# to fall into, my feature creep eats me up and I don't finish what I accomplish in 30 min in a spreadsheet.
you can write very basic HTML page with few fields and formulas calculation in JavaScript.

Resources