Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: I:\Main-Folder\64-AveragingCalculator\Averaging-Calculator\index_files\image002.gif

The Averaging‑Calculator, and the Averaging‑Database

 

To Calculate the Average of a Set of Numbers

 

Created by David Alderoty © 2011

 

David@TechForText.com

 

To contact the author use the above email address, or

left click on these words for a website communication form.

 

The Software: Averaging‑Calculator and Averaging‑Database

 

This website provides, free of charge, software that calculates averages, called the Averaging‑Calculator, and the Averaging‑Database.  There is an online version of the Averaging-Calculator, embedded in this webpage, two paragraphs below.  The Averaging-Calculator is also available for download, in Microsoft Excel, in OpenOffice Calc, and in JavaScript.  The Averaging‑Database is only available in Microsoft Excel.  (The Excel and Calc versions require Microsoft Windows, and the JavaScript version works with almost all modern operating systems.) 

 

The website also provides interesting technical information about the Averaging-Calculator.  This includes a series of informal experiments, used to circumvent design difficulties with the Calculator.  This resulted in solutions to technical problems, for statistical calculation devices created in JavaScript, by a conversion process from Excel. 

 

If you want the download links for the Averaging-Calculator or additional information, scroll down, beneath the online calculator.  Alternatively, you can go to the hyperlinked table of contents of this website, by left clicking on these words.  

 

The Online Averaging‑Calculator, Functions Directly From this Website.

If you want a printer friendly version of the online Averaging‑Calculator left click on these words

 

 
The Averaging Calculator, Created by David Alderoty © 2011 RunDavid@verizon.net
The Averaging-Calculator calculates the average, when you enter a set of numbers. It functions online directly from this webpage.
       
To enter numbers you must first left click on
the box that you want to place the numbers in.
                                                                                                               
   
   
  Optional: In this (left) column, enter a descriptive word or phrase for the numbers you enter in the column on the right. For example, if you are averaging the test scores of a class, you would enter the student's name in this column, and the test score in the right column. In this (right) column, enter the numbers you want to average, and the calculated results will appear above in red type.  
   
                                                                       

 

Information About the Averaging‑Calculator and Averaging‑Database

 

Description of the Software

 

The Excel, OpenOffice Calc, and JavaScript versions of the Averaging‑Calculator, and the Averaging‑Database are in a reusable format, and they are unlike conventional spreadsheets that are consumed after data has been entered.  All the versions can produce an unlimited number of calculation documents, which retained the calculated results as permanent records.  If the data is changed in a permanent record the results will automatically recalculate.  (*See the note about the JavaScript version) 

 

All of the above, except for the JavaScript version, require Microsoft Excel, or OpenOffice Calc, and Microsoft Windows.  The JavaScript version can be used with any browser that has JavaScript capabilities, and a number of modern operating systems, including Macintosh, Linux, as well as Microsoft Windows.  However, the JavaScript version was only tested with Windows. 

 

*Note about the JavaScript version:  If you want to save calculated results in a permanent calculation document with the JavaScript version, you must use either Firefox version 4, or SeaMonkey version 2, or newer versions of either of these browsers.  In addition, you must save the documents produced by the JavaScript version as Web Page, Complete.  If you use another browser, or another file format other than Web Page, Complete, the data you entered and the calculated results will NOT be saved.


     With the three versions of the Averaging‑Calculator, you must use a new filename for each calculation document that you want to save.  To save a calculation document for any of the three versions, (with Microsoft Windows) press the s key while holding down the Ctrl key.  Alternatively, you can use the controls on the file menu. 

 

Obtaining the Software You Need

 

The first version of the Averaging‑Calculator mentioned above, and the Averaging‑Database require Microsoft Excel.  Excel is relatively expensive, but there are home versions of the Microsoft office package that are under $200.  Many public computers in schools and other facilities have Microsoft Excel.  The Averaging‑Database is only available in the Microsoft Excel format.

 

However, if you do not have Microsoft Excel on your computer, the best alternative is to use the Averaging‑Calculator in the OpenOffice Calc format.  To do this, you must first obtain the FREE OpenOffice.org software package.  This free software package provides almost the same functionality as Microsoft Excel, Word, PowerPoint and Access.  The OpenOffice.org software package is open-source, and you can obtain it without charge from the following website: www.OpenOffice.org 

 

If you do not have Microsoft Windows on your computer, you can use the JavaScript version of the Averaging‑Calculator.

 

If you are going to use the JavaScript version of the Averaging‑Calculator, you should download Firefox 4 or a newer version. This browser is provided free of charge, from the following website: http://www.mozilla.com/en-US/firefox/new  If the above link is outdated use this alternative www.mozilla.com  

 

An alternative to the above is SeaMonkey, which functions just as well as Firefox.  This browser is provided free of charge from the following website: www.seamonkey-project.org/releases  If the above link is outdated, use this alternative www.seamonkey-project.org

 


General Information About Downloading

 

Introduction to Downloading

To download the Averaging‑Calculator, or the Averaging‑Database simply use the same method you always use for downloading and saving a file from the Internet.  If you are not familiar with downloading files, ask someone who can help you, or try the instructions listed below.

 

If you are using Microsoft's Internet Explorer, downloading files might be less difficult, then with other browsers, because with Internet Explorer it is relatively easy to direct the location of the download.  Other browsers usually download the file in a default location, which is usually the Download Folder.  The location of the Download Folder depends on the version of Windows you have, but it is sometimes in the documents folder.  You can find the location of the download folder, with the newer versions of Windows, with the search function in the start menu, by entering the word: Download.

 

If you are having difficulty downloading with your browser, download Internet Explorer from Microsoft. http://windows.microsoft.com/en-US/windows/home   If the above link is outdated, left click on the following Google search link:

 

Google search[Internet Explorer download]

 

 

 

Three Steps for Downloading

 

Step 1) Left click with the mouse on a blue download link, for the Averaging Calculator, or for the Averaging‑Database, and a dialog box will open, with an option to save the file.  (The links are located in the next subsection.)

 

Step 2) Save the file on the Windows Desktop or in the Documents Folder, or anywhere else on your computer, where you can easily locate the file’s icon.  Keep in mind that after you downloaded the file, you must locate the file's icon on your computer.

 

Step 3) The file's icon can be moved after downloading to any location on your computer, with the windows cut and paste function.  You should move the icon to a location on your computer where you can easily find it.  For most people, the best place to store these files is in the Documents Folder (also called the My Documents in some versions of Windows).

 

An alternative to the above three steps, is to download the Averaging‑Calculator or the Averaging‑Database in a zipped folder.  To do this left click on a link with the words: zipped folder.  With this method, most browsers display the files icon as soon as the download is completed.  Then you can use the Windows cut and paste function, to place the file anywhere you want on your computer.

 

If you need additional information on downloading, left click on the Google search link, below:

 

Google Search:[How to download files from the Internet]

 

The Download Links, Are Under Five Subheadings, for the Averaging‑Calculator and Averaging‑Database

 

Download Links, for the Microsoft Excel Format

 

Keep in mind that the following downloads require Microsoft Windows, as well as the spreadsheet software indicated on the links.

 

If you want the Averaging‑Calculator in the Microsoft Excel format, left click on these words.  This requires Microsoft Excel 2003 or later versions. (It might also work with Excel 2000.).

 

If you want the above in a zipped folder, left click on these words.  

 

If you want the Averaging‑Calculator, in the newer Microsoft Excel format, left click on these words.  This requires Microsoft Excel 2007, 2010 or later versions.

 

If you want the above in a zipped folder, left click on these words.

 

If you want the Averaging‑Calculator that was used to create the JavaScript version, left click on these words.  This requires Microsoft Excel 2007, 2010 or later versions.

 

If you want the above in a zipped folder left click on these words.

 

 

Download Links, for the Averaging‑Database, Available Only in Microsoft Excel

 

If you want the Averaging-Database in the Microsoft Excel format, left click on these words.  This requires Microsoft Excel 2003 or LATER VERSIONS

 

If you want the above in a zipped folder, left click on these words.

 

If you want the Averaging-Database, in the newer Microsoft Excel format, left click on these words.  This requires Microsoft Excel 2007, 2010 or later versions.

 

If you want the above in a zipped folder, left click on these words.

 

 

Download Links, for the OpenOffice Calc Format

 

Keep in mind that the following downloads require Microsoft Windows, as well as the spreadsheet software indicated on the links.

 

If you want the Averaging‑Calculator, in the OpenOffice Calc format, left click on these words.  This is only available in a zipped folder, and it requires the free OpenOffice.org software package.

 

 

Download Links, for the JavaScript Format

 

If you want the Averaging Calculator, in the JavaScript format, left click on these words.  For optimal functionality this requires Firefox version 4, or SeaMonkey version 2, or newer versions of either of these browsers.

 

If you want the above in a zipped folder, left click on these words.

 

Download Link, for All of the above, in One Zipped Folder

 

If you want all of the above in one zipped folder, including Excel, Calc, and JavaScript versions, left click on these words.

 

 

A Simplified Technical Description of How the Averaging‑Calculator Was Created

The Formulas in the Averaging‑Calculator

 

The Averaging‑Calculator, technically speaking is a relatively simple device, and it was created initially in Microsoft Excel.  I devised the following two formulas, with the three conventional Excel functions: COUNT( ),  IF(), and AVERAGE().  The formulas I created obviously display messages for the user, and they are presented below: 


="You entered "&COUNT(I28:I68 )&" numbers, and the average is:"

 

=IF(COUNT(I28:I68)=0,"Results appear here when numbers are entered", AVERAGE(I28:I68) )

 

Creating the Averaging‑Calculator, in Microsoft Excel, OpenOffice Calc, and JavaScript

 

I created the Averaging‑Calculator initially in the Microsoft Excel 2007-2010 file format.  Then I created a copy in the 1997-2003 file format with the Excel save function.  After this I converted a copy to the OpenOffice Calc file format, with the save function in the OpenOffice Calc software.  The OpenOffice Calc copy required some esthetic correction. 

 

The JavaScript copy of the Averaging‑Calculator, was created from the Excel version with specialized software called SpreadsheetConverter.  SpreadsheetConverter, translates, structure and formulas, and graphics in a Microsoft Excel device, into the JavaScript computer language.  This software does not actually convert the Excel device; it makes a copy of it in JavaScript.  The resulting code is actually a combination of HTML and JavaScript.  Based on my examination of the code, the graphics and text are generally in HTML, and the calculation mechanisms are in JavaScript. 

 

I usually find it necessary to slightly edit the code generated by SpreadsheetConverter, primarily to improve aesthetics, and to set the webpage to open on the top.  The default is to open the webpage next to the input cells, and to change this to open on the top of the webpage, it is necessary to remove a small segment of JavaScript code. 

 

 

A Note on SpreadsheetConverter, Excel to JavaScript Conversion Software

 

SpreadsheetConverter, is very unusual software, and generally carries out its functions amazingly well.  However, it is not perfect, which is not surprising, because there is a tremendous difference between Microsoft Excel and the JavaScript computer language.  Microsoft Excel functions directly from a Windows-based computer, and the JavaScript devices function in a web browser.  Microsoft Windows interprets Excel computer code in a very consistent way, regardless of the version of Windows.  Many brands of web browsers do not interpret computer code identically, because of lack of adequate universal standards.  (This is gradually changing, with the newer standards for HTML, webpages, and browsers.)

 

In addition, SpreadsheetConverter does not convert all of the formulas and functionality of Microsoft Excel.  For a successful translation to JavaScript, it is necessary to create Excel devices that do not have formulas or functions that are not supported by SpreadsheetConverter.  However, all of the commonly used formulas are supported, and many of the advanced formulas are also supported, especially in the professional edition.  When a Microsoft Excel formula cannot be translated into JavaScript with SpreadsheetConverter, the problem can usually be solved by rewriting the Excel formula in conventional mathematical format.  However, the Excel to JavaScript conversion process, occasionally results in very significant technical problems that cannot be corrected by rewriting a formula.  This will be seen in the next section. 

 

SpreadsheetConverter, is the only software that I know of that actually produces an application from an Excel device that can be placed directly on any Web server, or desktop computer.  The manufacture of SpreadsheetConverter, is a Swedish company, (Framtidsforum) and they make several varieties of conversion software, for Excel conversion to: JavaScript, Flash and Java, and ASP.NET.  They provide their software in a number of versions, the price range from $97 to about $400.  The software I used to create the Averaging‑Calculator, is SpreadsheetConverter HTML / JavaScript Professional Edition 5.2.25, which currently sells for $217.  Overall, the service provided by the company, and SpreadsheetConverter are excellent, but not perfect.

 

Framtidsforum’s website is www.SpreadsheetConverter.com  They describe themselves as:

 

 “SpreadsheetConverter is produced by Framtidsforum I&M AB, Sweden. Framtidsforum is a privately held limited company and was established 1991.

 

 

Technical Limitations of Excel to JavaScript Conversion Software, Results in Problems with Most  Statistical Calculations: The Solution to the Problem

 

Note: The following material was written on May 12, 2011, and it may or may not apply to versions of SpreadsheetConverter created after this date.

 

A Description of the Problem

 

A JavaScript application, produced with SpreadsheetConverter, usually calculates exactly the same as the Excel device that was used to generate the application, with one exception.  JavaScript devices, produced with current versions of SpreadsheetConverter, calculate unoccupied input cells as zeros.  Microsoft Excel ignores empty input cells, and does not calculate them as zeros.  For most calculations this difference is not important.  For example, if you add 7, 0, and 5 the result is 12, with though without the zero.  If you add additional zeros the result is still 12.  However in statistical calculations zero is usually a very important number, and if a JavaScript device calculates empty cells as zeros, the calculated result will be incorrect.  For example, if we calculate the average of 7 and 5, (= 12/2) the result is 6.  However, the average of: 7, 0, and 5, (= 12/3) is equal to 4.  Thus, zeros are meaningful numbers when calculating averages, and this applies to many other statistical calculations. 

 

The online statistical calculation devices, created with the software described above, would calculate all the unoccupied cells as zeros.  The number of empty input cells is determined by the amount of data the user enters, and if all the cells are occupied, the calculations would be correct.

 

With only a few exceptions, I do not know the individuals that use my online calculation devices, and I do not know how much data they will enter.  What I usually do is create additional input cells to compensate for this unknown, but in this case the additional input cells would interfere with correct calculations.  Even the people that frequently carry out statistical calculations do not know how much data they will have after they complete their assessments.  For example, a college instructor that wants to calculate the average test scores of the students, from one semester to another, would not know how many students will register for the class from one semester to another.  The instructor might have data for 30 input cells one semester, and the following semester, there may be data for only 20 input cells. 

 

Thus there is no way of creating a practical statistical calculation device with the current version of spreadsheet converter, using the conventional conversion methods.  However, spreadsheet converter supports most of the statistical functions that Microsoft Excel supports, but the use of these functions will result in major calculation errors, if there are any input cells that do not have numbers.

 

I informed the manufacture of SpreadsheetConverter, about this problem over a year ago, and the technician that answered my e-mail stated that it was very difficult to fix.  They indicated they might correct this problem in the next version of their software, which is version 6.  They did not release version 6 yet.  I have the latest version of their software, which is 5.2.25, and the problem of course still exists.  However, I carried out a series of experiments and solved this problem myself.  I will send this solution to the manufacture of SpreadsheetConverter.  The series of experiments and solution are described below.

 

 

Experiment 1) Placing Letters in Every Input Cell, Before Conversion to JavaScript, With SpreadsheetConverter.

 

To correct the problem described above, I initially tried placing letters in every input cell, before I converted an Excel device to JavaScript, with SpreadsheetConverter.  I figured, (hopefully) if there is a letter in an input cell, the cell would not be unoccupied, and will not be calculated as zero.  In addition, SpreadsheetConverter, can create input cells for text, which are not calculated as zeros.

 

Input cells for text, are usually created by not connecting any formulas to the cells, and by unlocking them in the Excel device, before conversion.  (Input cells for numbers must also be unlocked, before conversion.)  Normally, input cells for text, cannot be calculated as zeros or anything else, because they are not connected to the calculation mechanism.  However, with this experiment, I had two formulas connected to all of the input cells.  One formula was for counting the numbers entered by the user.  The other formula was for calculating the average of all the numbers that the user entered. 

 

The experiment described above, was obviously a longshot, but surprisingly it was successful.  The text boxes were not calculated as zeros, unless zeros were manually entered.  The calculation mechanism functioned perfectly with these modified input cells.

However, the above method had some minor disadvantages.  The user would have to understand the necessity of deleting the letters, before entering numbers.  If the user, inadvertently entered a number without deleting the letter, the number would be excluded from the calculations, and the results would be incorrect.  Thus, I continued my experiments, which resulted in a better solution, which is presented below.

 

Experiment 2) Letters In Cells Not Needed After Conversion to JavaScript, With SpreadsheetConverter.

 

By experimenting, I found that the letters I placed in the input cells were only needed during the conversion process, from Excel to JavaScript.  That is when I deleted all the letters I entered for the conversion process, the empty cells were not calculated as zeros.  The calculation mechanism in the JavaScript device ignored unoccupied input cells, the way Microsoft Excel does.  Zeros were only calculated when they were manually entered into cells.

 

The Above Was Somewhat of a Mystery, But It Solved the Problem

 

Initially, I did not understand the dynamics behind the changed functionality of the calculation mechanism and input cells, which resulted from the above experiment.  Thus, I ran some tests, and I examined the JavaScript code that SpreadsheetConverter generated for the input cells.

 

The tests indicated that SpreadsheetConverter, developed hybrid input cells, during the conversion process.  That is if numbers were entered in these input cells, they were calculated correctly.  However, these input cells also accepted text.  (Input cells for numbers, created with SpreadsheetConverter, normally do not accept text.  If the user enters text in an input cell for numbers, it is deleted automatically by the software, and sometimes a zero is displayed after the deletion.)  In addition, when I entered text in some of the input cells, and numbers in other input cells, the numbers were calculated correctly, and the text was ignored.  This is the way Microsoft Excel functions in relation to input cells, but this is not the way a JavaScript device created with SpreadsheetConverter, usually functions.  

 

When I examined the JavaScript code that SpreadsheetConverter generated for the hybrid input cells, the mystery was solved.  It appears that SpreadsheetConverter, generated JavaScript code for the input cells, with an if statement.  I am not a JavaScript programmer, but it appears that the code instructs the computer to:

 

Treat an input cell as a text cell, if it does NOT contain numbers, but if it does contain numbers, treat it as an input cell for numbers, and use the number it contains in the calculations

 

A tiny sample of the actual JavaScript code that SpreadsheetConverter generated for the hybrid input cells is presented below.  Note the words if, else iftypeof(data…. The: NaN stand for the words: not a number

 

if(isNaN(data.XLEW_1_68_9)){sumcnt3_sum=Number.NaN;};if(eeisstring(data.XLEW_1_67_9)){;}else if(typeof(data.XLEW_1_67_9)=="boolean"){;}else

 

(Note: The code generated by SpreadsheetConverter, presumably is copyrighted by the manufacture, Framtidsforum I&M AB, Sweden.  This applies to the above code sample. )

 

The above, reveals the dynamics behind the changed functionality of the calculation mechanism and input cells.  However, it does not explain how SpreadsheetConverter, was able to figure out this solution.  This is discussed in the concluding statements.   

 

Experiment 3) Deleting the Letters, That Were Placed in the Input Cells of an Excel Device, before It Was Converted to JavaScript, with SpreadsheetConverter

 

As explained in the preceding paragraphs, placing letters in an Excel device, before converting it to JavaScript with SpreadsheetConverter, results in modified input cells.  The modified input cells are suitable for statistical calculation devices, because they are ignored by the calculation mechanism when there are no numbers in the cells.  Conventional input cells are calculated as zeros when there are no numbers in the cells, which makes them unsuitable for statistical calculation devices. 

 

The above raises the question, how do we delete the letters in a JavaScript device that was created with the technique described above.  If letters were deleted in the conventional way, with a typical Internet browser, they would reappear, after closing and reopening the JavaScript device.  To permanently delete the letters, I opened the JavaScript device in an HTML editor, and carefully deleted each letter.  However, this is tedious and time-consuming when there are a large number of input cells, and a tiny error ruins a JavaScript device.  Thus, I continued my experiments, and I found a better technique to remove the letters from the input cells.  This is described below.

 

Experiment 4) with Browsers and Their Limitations

 

I tried a series of experiments with browsers.  However, browsers are usually designed to prevent users from making changes to conventional HTML pages and JavaScript devices.  This held true for Internet Explorer, Google Chrome, and Opera, for all the file formats available in these browsers.  This includes the following: 

 

.htm (this is used for conventional webpages, often called Web page only)

 

.htm (designated as webpage complete)

 

.mht (stores graphics and text in a single file, often called Web archive single file)

 

 

    Experiment 5) Firefox, and SeaMonkey an Ideal Solution to the Problem

 

When I tested Firefox version 4, and SeaMonkey version 2.0.14, changes were saved.  That is I opened the JavaScript device deleted the letters and saved it, and the letters did not reappear after I reopened the JavaScript device.  This works with Firefox, and SeaMonkey.  In addition, any text or numbers entered into a web form, a webpage, or a JavaScript device can be retained with these browsers.  However, this is ONLY TRUE if the file is saved as: Web Page, Complete.  If another browser, or another file format is used other than Web Page, Complete, the data entered and the deletions are not saved.  

 

Important note: The words Web Page, Complete are listed on the above versions of Firefox and SeaMonkey, when the save function opens.  There are other HTML formats displayed on a save function, but they do not save the changes made to a webpage or JavaScript device.

 

Thus, after removing the letters in the JavaScript device, I saved it with SeaMonkey, in the Web Page Complete file format.  Then I reopened it in SeaMonkey again, and converted it back to a conventional web format by saving it as Web Page, XHTML onlyThus, the problem was solved.  The steps to the solution are summarized below, in a concise form.

 

If You Are Going to Make a Statistical Calculation Device, with SpreadsheetConverter, Carry Out the Following Seven Steps.  This Prevents the Calculation of Unoccupied Input Cells as Zeros

 

(The following was written on May 12, 2011, and it may or may not apply to versions of SpreadsheetConverter created after this date.)  As explained in the preceding paragraphs, zeros are meaningful numbers in statistical calculations.  JavaScript devices, created with the current versions of SpreadsheetConverter normally calculate unoccupied input cells as zeros.  This will result in erroneous statistical calculations, if there are any unoccupied input cells when performing a calculation.  This problem can be solved with the following seven steps. 

 

Step 1) Before converting an Excel device, to JavaScript, enter a letter in every input cell.  I use the letter X, but you can use any letter you prefer.  (Note, before converting, you should check to be sure that the input cells are not locked.)

 

Step 2) Convert the Excel device to JavaScript, in the conventional way.  (However, the Excel device must have the letters you entered in all the input cells during the conversion process.)

 

Step 3) Open the JavaScript device created in step 2, using Firefox, or SeaMonkey.  (This technique does not work with the other browsers I tested, and it may not work with versions earlier than 4 for Firefox, and 2 for SeaMonkey.)  Alternatively, you can use an HTML editor, to open the JavaScript device.  If you use an HTML editor, you should make a backup copy of the JavaScript device, before opening it with the HTML editor. 

 

Step 4) Delete the letters in the input cells of the JavaScript device, while it is opened in one of the browsers mentioned above, or while it is opened in an HTML editor. 

 

Step 5) After you have deleted all the letters, save the JavaScript device as Web Page, Complete.  If you save the JavaScript device in another file format, or use a different browser than indicated above, the letters you deleted will most likely reappear when you reopen the JavaScript device.  However, this does not apply if you are using a HTML editor.  With a HTML editor, do not change the file format.  This essentially means save the JavaScript device in a conventional webpage format, after you deleted the letters.  If you are using a HTML editor, your job is complete after saving the JavaScript device.  

 

Note, the easiest way to access the save functions in Firefox and SeaMonkey (with Microsoft Windows) is to press the s key, while holding down the Ctrl key.

 

Step 6) Close the JavaScript device, after it has been saved in Web Page, Complete.

 

Step 7) Reopen the JavaScript device that you saved as Web Page, Complete, using Firefox, or SeaMonkey.  If all the letters have been successfully deleted, convert the file into a conventional webpage format by saving it again as Web Page, XHTML only.  This can be done with either Firefox or SeaMonkey.

 

 

There Are Four Ways That Framtidsforum, the Manufacture of SpreadsheetConverter can Correct the Problem that Was Described in the Preceding Paragraphs.

1)The simplest and least expensive way that Framtidsforum, can correct the problem discussed in the preceding paragraphs (Empty input cells calculated as zeros, in JavaScript devices created with SpreadsheetConverter) is to provide a link for they uses to the seven steps, described above.  The link can be obtained from the table of contents of this website, under the heading:

 

Seven Step Summary of the Solution, for Creating JavaScript Devices that will NOT Calculate Empty Input Cells as Zeros, with SpreadsheetConverter

The heading itself, can be copied from the table of contents, with the copy and paste mechanism, and entered into any website or document, including email. The table of contents of the website is located at the very bottom of this webpage.



2) An alternative to the above is: Framtidsforum can include the seven steps, described above, perhaps in modified wording, as part of their instructions, for users that want to create statistical calculation devices.

 

3) A more technologically advanced solution is to incorporate the seven steps listed above, into SpreadsheetConverter, so that it will carry out the seven steps above automatically, during the conversion process.  

 

4) The most technologically advanced solution, is based on the fact that the seven steps described above, modify the computer code, in the input cells, of a JavaScript device, created with SpreadsheetConverter.  The idea here is: the modified code can be generated directly during the conversion process, if the manufacture makes appropriate modifications to SpreadsheetConverter.  This is probably the most difficult and expensive solution, because it involves rewriting or modifying the code that comprises SpreadsheetConverter. 

 

 

A More Detailed Look at:  Computer Code that Prevents Unoccupied Input Cells from Being Calculated As Zeros

 

In common everyday English, the computer code to prevent blank input boxes from being calculated as zeros, would instruct the computer: if blank, not a number, or perhaps if an input cell contains text or is empty, it does not represent a number, or blank cells do not equal zero.

Earlier in this text, I displayed a single line of the modified code that was generated by SpreadsheetConverter, with the seven steps described in the preceding paragraphs.  In this subsection, I am presenting two samples of computer code generated by SpreadsheetConverter, for comparison.  The first sample is code that SpreadsheetConverter generated when letters were placed in the input cells of an Excel device before was converted to JavaScript.  The second sample is computer code that SpreadsheetConverter generated with a similar Excel device, but no letters were placed in the input cells. 

 

 

Two Samples of Code, in the JavaScript Computer Language, Generated by SpreadsheetConverter

 

The computer code below was generated by SpreadsheetConverter, with letters placed in the input cells of the Excel device before conversion.  With this code, unoccupied input cells are ignored, and they are NOT calculated as zeros.  You will see the word if, in the code, which appears to be used to create a conditional statement, such as if the cells are blank, or if they contain text, not a number.  In addition, you will see NaN, which means not a number. 

 

if(isFinite(data.XLEW_1_68_9)){sumcnt3_sum=sumcnt3_sum+data.XLEW_1_68_9;sumcnt3_cnt++;}else if(isNaN(data.XLEW_1_68_9)){sumcnt3_sum=Number.NaN;};if(eeisstring(data.XLEW_1_67_9)){;}else if(typeof(data.XLEW_1_67_9)=="boolean"){;}else if(isFinite(data.XLEW_1_67_9)){sumcnt3_sum=sumcnt3_sum+data.XLEW_1_67_9;sumcnt3_cnt++;}else if(isNaN(data.XLEW_1_67_9)){sumcnt3_sum=Number.NaN;};if(eeisstring(data.XLEW_1_66_9)){;}else if(typeof(data.XLEW_1_66_9)=="boolean"){;}else if(isFinite(data.XLEW_1_66_9)){sumcnt3_sum=sumcnt3_sum+data.XLEW_1_66_9;sumcnt3_cnt++;}else if(isNaN(data.XLEW_1_66_9)){sumcnt3_sum=Number.NaN;};if(eeisstring(data.XLEW_1_65_9)){;}else if(typeof(data.XLEW_1_65_9)=="boolean"){;}else if(isFinite(data.XLEW_1_65_9)){sumcnt3_sum=sumcnt3_sum+data.XLEW_1_65_9;sumcnt3_cnt++;}else

 

(Note: The code generated by SpreadsheetConverter, presumably is copyrighted by the manufacture, Framtidsforum I&M AB, Sweden.  This applies to the above code sample. )

 

The following code sample was generated by SpreadsheetConverter, in the conventional way, during the conversion of an Excel device to JavaScript.  With this code, unoccupied input cells are calculated as zeros.  Compare this code, with the sample above.  You will see that there are NO if, and no NaN in this code.

 

c1H29=data.XLEW_1_29_8;arr1xI28I68[1][0]=data.XLEW_1_29_9;var c1H30=data.XLEW_1_30_8;arr1xI28I68[2][0]=data.XLEW_1_30_9;var c1H31=data.XLEW_1_31_8;arr1xI28I68[3][0]=data.XLEW_1_31_9;var c1H32=data.XLEW_1_32_8;arr1xI28I68[4][0]=data.XLEW_1_32_9;var c1H33=data.XLEW_1_33_8;arr1xI28I68[5][0]=data.XLEW_1_33_9;var c1H34=data.XLEW_1_34_8;arr1xI28I68[6][0]=data.XLEW_1_34_9;var c1H35=data.XLEW_1_35_8;arr1xI28I68[7][0]=data.XLEW_1_35_9;var c1H36=data.XLEW_1_36_8;arr1xI28I68[8][0]=data.XLEW_1_36_9;var c1H37=data.XLEW_1_37_8;arr1xI28I68[9][0]=data.XLEW_1_37_9;var c1H38=data.XLEW_1_38_8;arr1xI28I68[10][0]=data.XLEW_1_38_9;var c1H39=data.XLEW_1_39_8;arr1xI28I68[11][0]=data.XLEW_1_39_9;var c1H40=data.XLEW_1_40_8;arr1xI28I68[12][0]=data.XLEW_1_40_9;var c1H41=data.XLEW_1_41_8;arr1xI28I68[13][0]=data.XLEW_1_41_9;var c1H42=data.XLEW_1_42_8;arr1xI28I68[14][0]=data.XLEW_1_42_9;var

 

(Note: The code generated by SpreadsheetConverter, presumably is copyrighted by the manufacture, Framtidsforum I&M AB, Sweden.  This applies to the above code sample. )

 

Concluding statements: A Problem-Solving Method? Maybe

The method used to solve the problem (described in the preceding paragraphs) might have some general utility for finding solutions to certain types of problems.  Thus I am presenting it here in a concise form.

 

With my experiments, I deliberately presented an ambiguous and very confusing problem to the computer and SpreadsheetConverter.  That is I created a series of input cells in Microsoft Excel that were programmed for numbers.  I connected these input cells with formulas that can only recognize and calculate numbers.  However, I placed text in each input cell, consisting of the letter X, before the Excel device was converted to JavaScript.  There is no logical way that the text could be calculated as numbers, with the formulas and configuration I was using, with these experiments.  When the computer and SpreadsheetConverter were faced with this very ambiguous situation, the computer and spreadsheet converter generated code with a conditional statement, which essentially states: if an input cell does not contain a number, do not calculate it.  This of course sounds like common sense to human beings, but computers do not have common sense, or do they?  Modern computers and software are so complex that they sometimes derived logical solutions that were not programmed into them. 

 

The above raises the question, how did the computer and SpreadsheetConverter generate the code that solved the problem.  There are at least two possibilities.  One is that the ambiguous situation I set up caused the computer to select a set of logical sequences that were stored in spreadsheet converter, and connected them in a sequence to solve the problem.  SpreadsheetConverter, appears to carry out a process that resembles this when it generates JavaScript and HTML code based on an Excel device.  The other possibility is the entire solution was programmed into SpreadsheetConverter, to deal with certain contingencies or requirements needed in the conversion process.  If this is the case, the ambiguous situation I set up, activated the software and computer to access the solution. 

 

Thus, under certain conditions, setting up an ambiguous situation, might stimulate a computer to generate possible solutions to a problem.  Ambiguity can sometimes stimulate creative thinking in people, which may also result in possible solutions to a problem.  The ambiguity generally represents a set of possibilities.  With one or more if statements, at least with computer technology, it is possible to satisfy the entire set of possibilities.  With computers, and also humans, a set of contingency plans, or alternative sets of actions, can sometimes solve a problem that is ambiguous, or has a number of possible causes, and a number of possible outcomes. 

 

 

 

The Design Concepts, and Services Offered by the Author

 

A Design Concept to Maximize User‑Friendliness: For the Website and For the Averaging‑Calculator, and Averaging‑Database

 

I designed this website, and the Averaging‑Calculator, and Averaging‑Database in a way that would maximize efficiency and ease-of-use.  The download links contain precise wording, to prevent confusion, such as: If you want the Averaging Calculator in the Excel format, left click on these words.  I used large fonts for the text and the links.  The paragraphs are relatively short, with ample spacing between one paragraph and another.  The Averaging‑Calculator and the Averaging‑Database  have instructions placed next to related input cells.  The calculated results are presented with a verbal statement, to prevent the possibility of confusion, such as: You entered 4 numbers, and the average is: 2.25  

 

The website is laid out in a very simple style, and it is on one long webpage.  With this layout, the user can navigate intuitively by scrolling down or up, from one section to another.  This one page layout avoids the unnecessary complexity of pull-down menus, and links to go from one page to another.  However, I provided a hyperlink, table of contents as an alternative way of navigating the website.

 

Some of the material on this website is technical.  Thus, for an optimum level of comprehension, the reader ideally should have an advanced background in spreadsheets software, coupled with knowledge of programming concepts and statistics.  However, I structured each sentence with the goal of minimizing confusion, and maximizing comprehension, for users with varying levels of technical knowledge.  In this regard, perfection is never possible, because users come from diverse technical, cultural, and linguistic backgrounds.

 

The reading habits of the user can also affect comprehension.  For example, some users will skim read or speed read technical material, which is likely to cause confusion, especially when a paragraph is referring to material previously discussed.  To compensate for this, I frequently state as explained above, the problem discussed above, etc.  This informs the reader that it is necessary to read the previous paragraphs, in order to understand the material. 

 

I provided many headings and subheadings throughout this text.  This allows the user to easily skip material that they find difficult, or uninteresting.  The headings and subheadings are also displayed in the table of contents.

 

Services Offered by the Author David Alderoty

 

I design and build user-friendly software based calculation devices for arithmetic, accounting, currency exchange rates, algebra, trigonometry, correlations, calculus, and databases with built-in calculation devices.  I also create attractive online calculation devices for websites.  I generally make these devices in the Microsoft Excel, OpenOffice.org, and the JavaScript formats, but I can work with other spreadsheet formats besides the above.  I also create web communication forms in JavaScript for websites.  This includes forms with built-in calculation devices.  For a list of websites with calculation devices that I created, left click on these words, or go to the following website: www.TechForText.com/Math

 

I write instructions for the devices I build.  I can also write instructions for software and computer devices created by others.  In addition, I can write advertising for your websites, products and services.

 

For a list of all the services I offer see www.TechForText.com For a list of all my websites see www.David100.com  My resume is online at: www.David100.com/R

 

I can provide the services mentioned above on a fee-for-service basis, or possibly based on temporary or permanent employment.  If you are interested in my services, and want additional contact information or more data on the services I offer, you can email me at David@TechForText.com or use a website communication form, by left clicking on these words.

 

My name is David Alderoty, and I am located in the USA, New York City.  If you are a great distance from my locality or are in another country, this is not important.  I can provide the above services worldwide, because the software and the writing services I offer can be delivered through the Internet to any locality, providing there are no governmental restrictions.

 

 

 

 

 

 

 

Introduction to The Hyperlink Table of Contents of this Website

 

This website is more or less laid out like a book, but it is on one long webpage.  You can scroll up or down to go from one topic to another.  However, if you want to examine all the sections and subsections of this website, use the hyperlink table of contents, below this paragraph.  To go to any section or subsection of this website you can left click on the blue words that relate to the material you want to read.  The yellow highlighted words are sections, and the un-highlighted words are subsections. 

 

If you want to go to the top of the website, left click on these words.

 


Table of Contents of this Website

Contents

The Averaging‑Calculator, and the Averaging‑Database. 1

The Software: Averaging‑Calculator and Averaging‑Database. 1

The Online Averaging‑Calculator, Functions Directly From this Website. 3

Information About the Averaging‑Calculator and Averaging‑Database. 9

Description of the Software. 9

Obtaining the Software You Need. 12

General Information About Downloading. 14

Introduction to Downloading. 14

Three Steps for Downloading. 16

The Download Links, Are Under Five Subheadings, for the Averaging‑Calculator and Averaging‑Database  19

Download Links, for the Microsoft Excel Format 19

Download Links, for the Averaging‑Database, Available Only in Microsoft Excel 20

Download Links, for the OpenOffice Calc Format 21

Download Links, for the JavaScript Format 22

Download Link, for All of the above, in One Zipped Folder 23

A Simplified Technical Description of How the Averaging‑Calculator Was Created. 23

The Formulas in the Averaging‑Calculator 23

Creating the Averaging‑Calculator, in Microsoft Excel, OpenOffice Calc, and JavaScript 24

A Note on SpreadsheetConverter, Excel to JavaScript Conversion Software. 26

Technical Limitations of Excel to JavaScript Conversion Software, Results in Problems with Most  Statistical Calculations: The Solution to the Problem.. 30

A Description of the Problem.. 31

Experiment 1) Placing Letters in Every Input Cell, Before Conversion to JavaScript, With SpreadsheetConverter. 35

Experiment 2) Letters In Cells Not Needed After Conversion to JavaScript, With SpreadsheetConverter. 37

The Above Was Somewhat of a Mystery, But It Solved the Problem.. 38

Experiment 3) Deleting the Letters, That Were Placed in the Input Cells of an Excel Device, before It Was Converted to JavaScript, with SpreadsheetConverter 42

Experiment 4) with Browsers and Their Limitations. 44

If You Are Going to Make a Statistical Calculation Device, with SpreadsheetConverter, Carry Out the Following Seven Steps.  This Prevents the Calculation of Unoccupied Input Cells as Zeros. 47

There Are Four Ways That Framtidsforum, the Manufacture of SpreadsheetConverter can Correct the Problem that Was Described in the Preceding Paragraphs. 52

A More Detailed Look at:  Computer Code that Prevents Unoccupied Input Cells from Being Calculated As Zeros. 54

Two Samples of Code, in the JavaScript Computer Language, Generated by SpreadsheetConverter 56

Concluding statements: A Problem-Solving Method? Maybe. 59

The Design Concepts, and Services Offered by the Author 63

A Design Concept to Maximize User‑Friendliness: For the Website and For the Averaging‑Calculator, and Averaging‑Database. 63

Services Offered by the Author David Alderoty  66