RANGE 함수를 추가로 확장하고 통합
Excel에서 함수형 프로그래밍에 깨어났을지도 모른다. (M 언어편) 의 M 언어 함수
- Table.SelectColumns
- Table.Combine
의 기능을 QL_INIT에 내장했습니다.
Function QL_INIT(M, Optional N = 1, Optional L1 = 1, Optional L2 = 1, Optional MODE = 0, Optional S = "")
On Error Resume Next
If TR_(M) Then
S = M
S = QL_INIT(S, N, L1, L2)
ElseIf TV_(M) Then
S = QL_INIT(UBound(M, 1), N, L1, L2)
For I = 1 To UBound(M, 1)
For J = 1 To UBound(M, 2)
If MODE = 1 And IsNumeric(M(I, J)) Then M(I, J) = Val(M(I, J))
S(I, J) = M(I, J)
Next J
Next I
ElseIf TS_(M) Then
If InStr(M, "[") > 0 And InStr(M, "]") = Len(M) Then
A = A_(Left(M, Len(M) - 1), "[")
B = A_(A(1), ",")
A = A_(A(0), "+")
N1 = UBound(B) + 1
M1 = 0
ReDim K(UBound(A))
For L = 0 To UBound(A)
K(L) = Range(A(L)).Rows.Count
M1 = M1 + K(L)
Next L
ReDim S(0 To M1, 1 To N1)
For J = 1 To N1
S(0, J) = B(J - 1)
D = 0
For L = O To UBound(A)
R = ""
Set R = Range(CC(A(L), "[", B(J - 1), "]"))
For I = 1 To K(L)
S(D + I, J) = DI(R, I)
Next I
D = D + K(L)
Next L
Next J
ElseIf InStr(M, ",") = 0 Then
S = QL_INIT(AT_(M), N, L1, L2, MODE)
Else
T = A_(M, ","): N1 = UBound(T) + 1
U = A_(T(0), " "): M1 = UBound(U) + 1
S = QL_INIT(M1, N1)
For J = 0 To N1
U = A_(T(J), " ")
For I = 0 To M1
S(I + 1, J + 1) = U(I)
Next I
Next J
S = QL_INIT(S, N, L1, 1, MODE)
End If
ElseIf TS_(N) Then
T = A_(N, ","): N = UBound(T) + 1
S = QL_INIT(M, N, 0, 1)
For J = 1 To N: S(0, J) = T(J - 1): Next J ' タイトル
Else
ReDim S(L1 To M, L2 To N)
For J = L2 To N: For I = L1 To M: S(I, J) = "": Next I: Next J ' 初期化
End If
QL_INIT = S
End Function
Function A_(V, Optional D = " ")
A_ = Split(TRIM_(V), D)
End Function
Function AT_(V, Optional D = " ")
AT_ = WorksheetFunction.Transpose(A_(V,D))
End Function
Reference
이 문제에 관하여(RANGE 함수를 추가로 확장하고 통합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/matumoto_onga/items/b150c14c7c58b9c88839텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)