会社の同僚用に作った。
複数列の回答を「1,2,4」のように1列にしたり、3は無ければ飛ばしたり、先頭と末尾にはカンマつけないで、とか、手作業だと色々面倒な処理を、Excelマクロにした。
以下を標準モジュールに貼って、関数として使ってもらうことにした。
Function CommaSep(範囲 As Range) As String '選択された範囲に空白以外が入っている場合のみ左からの連番数値で返す Dim Rng As Variant, myj As Variant Dim i As Long i = 1 For Each Rng In 範囲 If Rng.Value <> "" Then myj = myj & i & "," i = i + 1 Next Rng If myj = "" Then CommaSep = Null Else CommaSep = Left(myj, Len(myj) - 1) End If End Function
以下のように、コードをちょっと変えるだけで、いろいろなパターンができそう。