NoCode is not a new concept: the premise of designing tools for nonprogrammers to build and maintain their own applications without coding has been around for a long time. NoCode is a new name for an old concept. Some of its older names include Visual Programming and Rapid Application Development – sound familiar?
At a minimum, a NoCode platform should be able to incorporate building a user interface, data management, and handling business logic without coding. Based on this definition, the very first platform that checks all these boxes are spreadsheet software.
Wikipedia defines spreadsheets as “a computer application for organization, analysis and storage of data in tabular form”. VisiCalc, release in 1979, was the first spreadsheet software available on microcomputers. Subsequently, Lotus 1-2-3 was released by IBM in 1982. Microsoft released the first version of Excel 1.0 in 1985 for Mac, and then two years later, Excel 2.0 was released for Windows.
https://winworldpc.com/product/microsoft-excel/1x
Today, Microsoft Excel is by far the most widely used spreadsheet software in the world. It also includes the widest array of features, often setting the standard for spreadsheet software across the industry. As a result, I'll focus on its features throughout this article.
User Interface
The ability to create user interfaces is one of the primary requirements of any NoCode platform. Excel’s grid-based interface provides a wonderful resource towards this end: in its simplest form, you can utilize cells to represent textbox and dropdown controls for user input, or labels for displaying information or calculated output. By simply resizing row and column dimensions or merging cells, you can create complex user interfaces tailored for your users.
Excel’s built-in validation feature allows you to implement rules to limit user entry for specific data types, such as integer, decimal, date, time and text. You can also validate numeric data values by enabling minimum and maximum values, or limit text entry through minimum and maximum character counts. You can configure Excel to display custom warning/error messages when the user submits invalid data entries, or enforce data selection through the list feature to turn cells into dropdown controls.
Excel form controls further enhance the user interface capabilities, allowing users to build radio buttons, check boxes, list boxes, and sliders. Form controls float on top of Excel’s grid and allow you to bind form control selections with cells to enable integration with worksheet formulas.
By pairing these controls with features like hidden worksheets, rows and columns, locking formulas cells, hiding formulas, and disabling the top menu, you can make a spreadsheet file appear very similar to a conventional application interface.
Microsoft introduced Visual Basic for Applications (VBA) in 1993 with Excel 5.0. It was a revolutionary feature to enhance the capabilities of Excel, empowering users to implement rules that they could never develop with the built-in features. One of those capabilities is creating more advanced user interfaces by binding controls (ActiveX) to VBA code. However, VBA is a scripting language which requires some level of programming expertise. Since VBA usage brings Excel closer to a low-code platform, I won’t focus on these types of user interfaces for the purposes of this article, concentrating more on the no-code feature set.
Business Logic
Implementing business logic is the most powerful aspect of Excel from a NoCode perspective. Excel supports over 450 worksheet formulas in various categories, including statistics, database, and finance. This allows Excel users to implement extremely complex business logic solely worksheet formulas.
Microsoft also further enhanced Excel’s calculation capabilities by introducing Goal Seek and the Solver toolbox, which allow users to implement iterations against worksheet formulas without requiring any coding. Functionally, they act as loops to solve various optimization problems.
Running simulations is another common use case for business users, which entails looping through the core calculations of the model repeatedly, typically consisting of thousands of iterations. Microsoft and its partners developed Excel add-ins for Monte Carlo simulations to help users achieve this functionality without any programming.
User Defined Functions (UDF) are another way to extend the business logic capabilities of Excel by writing custom formulas in VBA. While UDFs are often developed by people with VBA expertise, regular users can consume them in their files by simply adding those functions.
Microsoft also created an ecosystem around Excel by allowing developers to build add-ins for Excel to enhance its capabilities, including custom formulas that target specific business segments. For example, you can find add-ins that are developed for specialty engineering calculations or optimization problems.
Using all of these tools, Excel users have been able to implement the necessary business logic within their user interfaces to develop fairly complex applications without any coding. All they need is to understand Excel’s formula syntax and the arguments of the specific formulas. No other NoCode platform comes anywhere close to Excel in implementing complex business logic.
Data Handling
Handling data in Excel is a bit tricky when comparing it against databases in traditional applications. In its simplest form, a database is a structured set of data. It is often represented in a table-like format, with named columns representing individual pieces of data and rows representing distinct records.
In most applications, databases consist of multiple tables that are joined to optimize and simplify data models. You can flatten most multi-table databases into a single table but end up repeating a significant amount of data.
There are two primary uses for data within an application. The first one is reference data that is queried and consumed by the application. For example, if you need to calculate shipping costs in an invoice application, you can query data from a database table of shipping costs by zip code to dynamically identify the cost of shipping a parcel based on a zip code that is entered in a user interface. This type of data management is easily handled in Excel by embedding the entire data set in a worksheet and retrieving matched data with formulas like VLOOKUP.
The second scenario is a bit more complex: data collection. This is where user-entered data is captured and inserted into a persistent store as a new record. This type of usage is more difficult to mimic in Excel without using Forms or VBA to tie the persistent store to the user interface.
In most cases that resemble the scenario above, users store and track data in simple tables by entering data directly into the grid. Each new row constitutes a new record in the data set.
You can also enable the built-in Forms feature to add new data or edit existing saved data. You can manage and delete data through a popup form. This provides a simpler interface and prevents users from manipulating data directly in the grid, which can often lead to mistakes (e.g. overwriting formulas fields, entering data into incorrect columns).
Distribution and Collaboration of Excel Applications
Excel users have been building NoCode applications since its infancy, but one of the biggest challenges remains the distribution of those applications. Before the Internet, those applications were typically distributed on physical media (e.g. floppy disks) to the respective end users. Later, this distribution widely moved to online means, such as emails, network drives, or – eventually – cloud based file storage providers.
Naturally, these applications require Microsoft Excel installed on the local computer. Unless VBA is used, there is little-to-no compatibility issue running them across various machines and Excel versions. Microsoft has been extremely effective at ensuring backwards compatibility with their formulas, even continuing support for widely unused early formulas that have been predominantly replaced with more powerful alternatives (e.g. LOOKUP vs. VLOOKUP/XLOOKUP). As a result, you can still load and execute an Excel file that was built 20 years ago.
These Excel applications are still primarily desktop applications with no connectivity to a centralized database or repository, unless VBA is used to achieve this integration (i.e. a LowCode implementation).
Security of Excel Applications
Security is one of the biggest problems with Excel applications, since there is no way to entirely secure an Excel file.
You can encrypt the file with a password to add a layer of protection against unauthorized access. However, this approach begins to get dicey when you provide end users with access to the application, since that results in a proliferation of the credentials. Even without exposing the credentials, encrypting the entire workbook can still be vulnerable to the brute force password hacking, since there is no lock against failed password attempts.
You may also want to protect your business logic or data from the end user by making only parts of the application accessible. This article explains various methods to achieve this, but each of these approaches still includes fairly straightforward workarounds that can leave the workbook exposed.
NoCode Use Cases of Excel
Let’s look at a couple of use cases for NoCode application development in Excel.
Data Collection
Today, many businesses still use Excel for data collections purposes, particularly when there are a significant amount of inputs or calculations involved.
The screenshot below shows an Excel-based form that contains several hundred inputs. Implementing this form in a web-based NoCode form builder can be fairly time consuming, which is why many businesses still find it more efficient to utilize Excel for these types of data collection.
Excel is also commonly used for data collection when there are calculations involved. The example below is a spreadsheet that collects financial data from businesses and combines it with various financial calculations. Building this type of data collection application using other NoCode platforms would have been extremely difficult since it would require recoding the complex calculation logic that is built into these formulas.
Calculators
Consumers and businesses have become well acquainted with the concept of Excel-based calculators. Often, they provide an incredibly effective means of computing and conveying complex calculations in a comprehensible way.
For example, there is no shortage of “lease versus finance” Excel templates available that compare the pros and cons of leasing versus buying a car. Similarly, there are dozens of Excel templates that break down mortgage rates into payments over time, explain the likelihood of getting a loan based on a series of financial factors, and highlight the costs associated with acquiring a home.
Almost every business builds similar Excel calculators for their needs, whether that entails sales quoting, price estimation, cost analysis, or any other computational model.
The ability to create and update data sets (e.g. pricing and cost lists), along with the ease of integrating that data with worksheet formulas, makes Excel the most efficient platform to build logic-heavy applications for businesses.
Reporting
The ability to load, manipulate, and present data is one of Excel’s core features. Businesses have been using Excel for reporting purposes for decades. You can load raw data into Excel, use built-in features to transform the data into a more understandable format (also known as data wrangling), and represent it in a simpler, condensed, and interactive view. Businesses often build reporting applications in Excel where they can periodically update raw data to produce these reports automatically. Managers are accustomed to seeing these reports in Excel. In fact, most of them prefer these reports in Excel format so that they can interact with them.
Excel has a vast array of features that deal with data. There are text formulas like FIND, LEFT, RIGHT, and SUBSTITUTE (and the more advanced Power Query), which allow you to manipulate and transform text content. Then, the Pivot Table or Power Pivot features can be used to aggregate complex data tables. Finally, Excel’s rich charting support, combined with filters and slicers, allows you to present the results in an interactive manner.
Almost every software product that deals with data has an Excel (or CSV) export feature. Why? Because, even if that software has built-in reporting features, users often want to bring that data into Excel (or their preferred spreadsheet software) to perform their own analysis and reporting. People’s familiarity and comfort level with Excel when it comes to dealing with data is unparalleled.
Power of a User Base of over 1 Billion People
Despite the inherent issues with distribution, collaboration, and security, spreadsheets are the first and most widely used NoCode platform in the world.
How many times have you seen a business software with a marketing message like “stop using spreadsheets for ***”? Simply replace *** with any business software vertical like data visualization, budgeting, accounting, or human resources. This points to how many companies are still using spreadsheets for those purposes, proving the power of Excel as a NoCode application platform that many business software vendors continue to compete with.
Excel is a software that is installed on a vast majority of business and personal computers worldwide. Free versions of online software products like Google Sheets, Office 365, and Zoho Sheets are available to anyone with an Internet connection. Over 1 billion people use spreadsheets worldwide.
The unparalleled reach, ease of use, and familiarity make spreadsheets an ideal first choice for a NoCode development platform, whether or not end users even know what a NoCode application is. These users have been building applications with Excel for decades and will continue to do so, despite how many new and powerful NoCode platforms are available on the market.