Since its inception, Excel has become the most popular and versatile calculation automation tool for non-programmers and semi-programmers (such as myself). At one time, I wrote a lot of things on VBA, made scripts for student course writing in my student body, and even wrote down a powerful iterative calculation of the heat distribution in solid fuel during combustion, which paralyzed the comp for 20 minutes. Today, in the age of clouds and web solutions, Google Sheets is taking over this niche.
Recently, I conducted a small study of Google tables for working with visualizations. In the process of studying, several interesting ideas and one script were born. Under the cut, the results of my research.
I work in the field of construction management and planning, and at the construction site something more complicated than Ixel is taking root very poorly. Therefore, Google tables have every chance to win the hearts (or maybe even the minds) of builders. Some methods that have already become the standard of work in spreadsheets are adopted by Google from their predecessors, so at first glance the difference with the isxel is insignificant. At the same time, some features are implemented in a new form, and one of such successful implementations in my opinion is array formulas. They were also in Iksel, but looking at them, I wanted to say "thank God that I do not know where I may need them." In Google, it’s just nice to work with them, and I think they will still prove their usefulness in many tasks. I will show how they can be used to work with building visualizations.
')
Demonstrating all this in video format is easier, so I made a small add-on:
And here is the script code that allows you to link visualization with different notations with the parameter reference:
/** * * @param {"A5:D20"} arr * @param {"A21:D25"} sprav () * @param {""} param * @customfunction */function (arr, sprav, param) { if(typeof sprav=="object"&&sprav.length!=undefined) { if(typeof arr=="object"&&arr.length!=undefined) { for (var i = 0; i<arr.length; i++){ for (var j= 0; j<arr[i].length; j++){ if (arr[i][j] != ""){ var r = sprav.map(function(value){return value[0]}).indexOf(arr[i][j]); var c = sprav[0].indexOf(param); if (r!=-1 && c!=-1) {arr[i][j] = sprav[r][c]} } } } } } return arr; }
Perhaps the code optimization is not up to par, I'm still not a PRO programmer, but it works.
Of course, those who are in the subject, they say that this is all garbage, for a long time already there is BIM. Yes there is. But we’ll quickly fasten the tables to the model in SketchUp (also Google so that it), than we will implement BIM. Because while everything from building material manufacturers and designers to builders and maintenance does not work at BIM, it takes more work than good. And in our country this will not happen soon.
Finally about Google. It seems by the quality of the product it is far ahead of analogues, of which surface googling gives off a whole galaxy. But nowhere have I met such a well-thought-out logic of work, high-quality cross-device and the ability to expand functionality with scripts. But this is only my opinion, and if I'm wrong, share yours.