I think the TEXTJOIN function in Excel 2016 will do this, though I don't have it to test. Other than that, your approach, and a simple VBA UDF, I don't think you're going to find another alternative.