Resolves: tdf#145235 TEXTJOIN() clear last string also for referenced empty

Change-Id: If6d20a1629e001708c700c5c25bef8a75fa34e25
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123889
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
(cherry picked from commit f4f2c94513e7d06691a73d9f12707c33d131d537)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123865
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sc/source/core/tool/interpr8.cxx b/sc/source/core/tool/interpr8.cxx
index 19cdd7e..6cc239d 100644
--- a/sc/source/core/tool/interpr8.cxx
+++ b/sc/source/core/tool/interpr8.cxx
@@ -1740,17 +1740,14 @@ void ScInterpreter::ScTextJoin_MS()
                        aAdr.SetRow( nRow );
                        aAdr.SetCol( nCol );
                        ScRefCellValue aCell( mrDoc, aAdr );
                        if ( !aCell.isEmpty() )
                        {
                            if ( !aCell.hasEmptyValue() )
                            {
                                svl::SharedString aSS;
                                GetCellString( aSS, aCell);
                                aStr = aSS.getString();
                            }
                        }
                        else
                        if (aCell.hasEmptyValue())
                            aStr.clear();
                        else
                        {
                            svl::SharedString aSS;
                            GetCellString( aSS, aCell);
                            aStr = aSS.getString();
                        }
                        if ( !aStr.isEmpty() || !bSkipEmpty )
                        {
                            if ( !bFirst )