Showing results for 
Search instead for 
Did you mean: 
Frequent Visitor

Change Name to Initials

I am using MS Forms to collect data and Power Automate to send that data to an Excel Workbook.  In the form I am collecting names as one of the fields.  I would like the flow to convert their name to their initials and write the initials to Excel.  There are only about six different names being input into the Form.  Example: John Smith = JS, Amy Johnson = AJ.  I tried using an IF expression but I cannot get that to work.



Dual Super User III
Dual Super User III

Re: Change Name to Initials

Let's assume you have "John Smith" stored in a variable called 'inputName'
If so you can convert by means of the following sequence:
Add an 'Initialize variable' name 'outputName', type string no value.
Add an 'Apply toEach' action block, assign as its input the following expression:
split(variables('inputName'),' '))
Inside the appy to each add 'Append to string' action block, name 'outputName' assign as its value the following expression:
Finally, you can add a compose action block out of the 'Apply to eac' and assign as its input the following expression:

There are other possible approaches, so instead an Apply to each you can use a Select action block and assign the following expression as its input
split(variables('inputName'),' '))
then assign the following expression as the mapping formula
...and finally get the expected result by means of a Compose action block, assigning as its inpit the following expression:

Hope this helps

Each time you click on any of our inspiring answers 'Thumb up' icon... ewok scapes from the stormtroopers.

Be grateful, Thumbs up! Save the Galaxy for free!

Escribo sobre Power Automate en:

Proud to be a Flownaut!

Super User II
Super User II

Re: Change Name to Initials

Hi @rnunley 

I have used the following flow with some expressions to solve what you want to achieve:


In this case, the field  body('Get_response_details')?['r9723f014ffc146debd7eeca108b84ad0'] is the Forms field with the Name.

Here are the expressions used on each step:

1) Get the blank position between the first name and the last name: 

indexOf(body('Get_response_details')?['r9723f014ffc146debd7eeca108b84ad0'],' ')
2) Get the First Initial:
3) Get the LastName length:
4) Get the last name Initial:
Hope it helps!
Did I answer your question? Please consider to mark my post as a solution to help others.
Proud to be a Flownaut!
Frequent Visitor

Re: Change Name to Initials

I got it working.  I used the "Switch" step in Power Automate along with a variable.


Re: Change Name to Initials



That's great that you got it working! Remember to set as resolved for however helped you.








Community Support Team _ Alex Rezac
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Power Platform ISV Studio

Power Platform ISV Studio

ISV Studio is designed to become the go-to Power Platform destination for ISV’s to monitor & manage published applications.

Tech Marathon

Maratón de Soluciones de Negocio Microsoft

Una semana de contenido con +100 sesiones educativas, consultorios, +10 workshops Premium, Hackaton, EXPO, Networking Hall y mucho más!

Top Solution Authors
Top Kudoed Authors
Users online (6,896)