Convert IDs from 15 to 18 chars in Excel (spanish version)

I have had to convert recently IDs from 15 to 18 chars length in an Excel formula using a MS Office Spanish version (formulas are different between English and Spanish MS Office versions!). This is the one I’ve used:

=CONCATENAR(A2;
EXTRAE("ABCDEFGHIJKLMNOPQRSTUVWXYZ012345";(
SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;1;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;1;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;2;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;2;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;3;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;4;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;4;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;8;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;5;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;16;0);0)
+1);1);
EXTRAE("ABCDEFGHIJKLMNOPQRSTUVWXYZ012345";(
SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;6;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;1;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;7;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;2;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;8;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;4;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;9;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;8;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;10;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;16;0);0)
+1);1);
EXTRAE("ABCDEFGHIJKLMNOPQRSTUVWXYZ012345";(
SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;11;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;1;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;12;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;2;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;13;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;4;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;14;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;8;0);0)
+SI.ERROR(SI(ENCONTRAR(EXTRAE(A2;15;1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ")>0;16;0);0)
+1);1))

Salesforce Javascript Developer I (Beta) Study Notes

Hints for the exam

After taking the exam I can give you some hints. It is a very deep technical exam, meaning most of the question give you a piece of code, sometimes quite a lof of lines of code for a single question, and you have to provide the output of that piece of code. For example, expect to see an array that has a lot of manipulations with map(), reduce() and so on. So you really need hands on this. I recommend you to use codepen.io or another tool to run as many examples as you can to understand all the different concepts (scope, coercion, promises and so on), and do it lots of times until you have everything very clear. I can tell you this exam is not an easy one if you don’t have hands-on experience and you only have theorical knowledge.

  • Variables / Types: Format Dates (toLocaleDateString())
  • Arrays: Lots of questions about .map() and .reduce() functions and also slice() and splice().
  • Coercion: Questions about giving the output. For example: what’s the result of this sentence?: null + 10 + ‘4’ + NaN
  • Browser APIs: Questions on Window.localStorage and Window.history
  • Objects / Classes: tons of questions about scope and “this”
  • Events: Notice the different between button.addEventListener(“click“, handleClick); (click vs onclick)
  • Modules: Lots of questions about exporting and importing (named exports, vs export all)
  • Error handling: Give the output of the try / catch / finally flows
  • Debugging / Testing: few questions about how to debug. Also questions about false positives and false negatives tests (watch out the theory here)
  • Promises: can you put a “.then()” after a “.catch()” ?
  • Node.js: Quite a few questions around “npm” and its package.json. How do you add dependencies? dependencies only for dev, etc. On the CLI, study the “–inspect” argument.
  • Scope: Not many but still relevant, var vs let comparision
  • Others: know the difference between setTimeout() and setInterval()

Study Guide

https://trailhead.salesforce.com/help?article=Salesforce-Certified-JavaScript-Developer-I-BETA-Exam-Guide

Variables, Types, and Collections20%
Given a scenario, write code to create variables and initialize them correctly
Given a business requirement, utilize strings, numbers, and dates effectively
Given a scenario or example, demonstrate awareness of type coercion and its effects
Given a specific scenario, distinguish truthy or falsey evaluations
Given a list of data, demonstrate data manipulation with arrays
Given a JSON response, demonstrate how to operate the JSON object
Objects, Functions, and Classes25%
Given a business requirement, locate the best function implementation
Given a business requirement, apply fundamentals of object implementation to solve the business requirement
Given a business requirement, apply fundamentals of class implementation to solve the business requirement
Given a JavaScript module, give examples of how to use the module
Given a JavaScript decorator, give examples of how to use the decorator
Given a block of code, analyze the variable scope and the execution flow
Browser and Events14%
Given a business requirement, utilize Events, event handlers and propagation
Given a business requirement, evaluate and manipulate the DOM
Given a scenario, utilize the Browser Dev Tools to investigate code behavior
Given a scenario and requirements, utilize browser specific APIs
Debugging and Error Handling8%
Given a scenario, handle errors properly
Given code to be debugged, use the console and breakpoints
Asynchronous Programming15%
Given a scenario, apply asynchronous programming concepts
Given a scenario, use event loop and event monitor or determine loop outcomes
Server Side JavaScript11%
Given a scenario and requirements, infer which Node.js implementation is a good solution
Given a scenario and requirements, infer which Node.js CLI command is a good solution
Know the core Node.js modules and given requirements, infer which Node.js library/framework is a good solution
Given a scenario and requirements, distinguish which Node.Js Package Management solution is the most fitting
Testing 7%
With a block of code and the associated Unit Test, determine where the test is ineffective and modify it to make it more effective

Sources for my posts on this topic:

New Salesforce JavaScript Developer I certification

It seems I was right when I posted a few years back that Javascript was going to be a pretty huge thing! (it was easy to guess, anyway).

I have been been accepted into the beta program for the Salesforce Certified JavaScript Developer I exam.

It is not going to be an easy one because I have never considered myself an expert on this language. I have done multiple things fixing bugs and small enhacements years ago, with jQuery and all that. After that, and already working on the Salesforce world, with Visualforce and Aura, the modern Javascript was a lit bit hidden for us, Aura was encapsulating it for us.

Now, with Lightning Web Components this is quite different. We can leverage the new standards and re-use these skills everywhere, which is great to build applications outside of the Lightning Platform.

Now, I have a few weeks ahead to study hard and really understand all the tricky things that Javascript has always had and I have never fully understood.

I’ll focus on the Exam Outline points and hope to have a good day to pass it! Exam Guide

A re-introduction to JavaScript

JavaScript has been with us for many many years now,  however it’s becoming more and more popular! There hundreds (maybe thoundsands?) of new frameworks that make it easier to build complex and user friendly web applications.

We can find Single-Page applications everywhere and JavaScript is fundamental.

I wanted to refresh my knowledge about it to to better understand all the new frameworks and how they work and I have came across this wonderful re-introduction to JavaScript. I really love the term because that’s exactly what I need, a re-introduction.

I hope you find it interesting as well!