例えば
A B
1 41
2 37
3 44
4 31
5 18
6 33
7 25
Function Func(r As Range)
Dim v()
Dim i As Long, j As Long
ReDim v(1 To r.Rows.Count, 1 To r.Columns.Count)
For i = 1 To r.Rows.Count
For j = 1 To r.Columns.Count
Select Case r.Item(i, j).Value
Case Is < 20
v(i, j) = "えぇ.."
Case Is < 30
v(i, j) = "え?"
Case Is < 40
v(i, j) = "え。"
Case Else
v(i, j) = "ええ"
End Select
Next j
Next i
Func = v
End Function
として
B1
=Func(A1:A7)
とすると動的配列が有効な環境ではspill機能により以下のようになります。
A B
1 41 ええ
2 37 え。
3 44 ええ
4 31 え。
5 18 えぇ..
6 33 え。
7 25 え?
問題はここからです。
上のブックを古いバージョン(期限切れ?)のExcelで開くと、
{=Func(A1:A7)}のように配列数式として表示されてしまいます。
その環境でうっかり保存してしまうと...
その後spill機能がある環境で開いたり保存したりしても
{=Func(A1:A7)}の表示のままで、もとの=Func(A1:A7)には戻らないと思います。
その場合の回答
Ctrl+/ 同時押しでB1:B7を選択、Deleteで削除してから再度=Func(A1:A7)と入力しましょう。