�������ꂽ�悤�ł����A�Q�l���������Ă����܂��B
���\�`���ɕϊ������̂��A���v�p�Z���ߍ��ޕ��@
�y�}�N�����s�O�z �y�}�N�����s��z
A�� A�� B��
1 �������� 1 ��������
2 �e�q���~�Q 2 �e�q�� 2
3 �V���~�Q �� 3 �V�� 2
4 �e�q���~�R 4 �e�q�� 3
5 �V���~�R 5 �V�� 3
6 �e�q���~�R 6 �e�q�� 3
7 �e�q���~�Q 7 �e�q�� 2
8 �����v�� 8 �����v��
9 �e�q�� 10
10 �V�� 5
B9�Z�� �@=SUMIF($A$2:$A$7,A9,$B$2:$B$7)
B10�Z���@=SUMIF($A$2:$A$7,A10,$B$2:$B$7)
�y�}�N����z
Rem �\�`���ɕϊ������̂��A���v�p�Z���ߍ���
Sub test1()
Dim pos&
Dim dic As Object
Dim key
Dim outputRng As Range
Dim adres1$, adres2$, adres3$
Dim k&
'1�Z������Q�Z���ɓW�J
pos = Application.Match("�����v��", Columns(1), 0)
Range("A2", Cells(pos - 1, "A")).TextToColumns _
Destination:=Range("A2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, _
OtherChar:="�~", FieldInfo:=Array(Array(1, 1), Array(2, 1)), _
TrailingMinusNumbers:=True
'���j�[�N�ȗ��������擾
Set dic = CreateObject("Scripting.Dictionary")
For k = 2 To pos - 1
dic(Cells(k, "A").Text) = Empty
Next
'�������̏�������
Set outputRng = Cells(Rows.Count, "A").End(xlUp).Offset(1)
outputRng.Resize(dic.Count) = Application.Transpose(dic.keys)
'���v�Z���̖��ߍ���
adres1 = Range("A2", Cells(pos - 1, "A")).Address
adres2 = Range("B2", Cells(pos - 1, "B")).Address
adres3 = outputRng.Address(False, False)
outputRng.Offset(, 1).Resize(dic.Count).Formula = _
"=SUMIF(" & adres1 & "," & adres3 & "," & adres2 & ")"
End Sub
�y���̕����̃����b�g�z
�E�W���I�ȕ\�`���ƂȂ��Ă���
�E����ύX����Ǝ����ō��v���X�V�����
�E�����̗������ł���A�s�̒lj��A�폜�ɂ��Ή����č��v���������ŏC�������B
�i�������A���������lj����ꂽ��A�S�̂�������x�쐬���Ȃ����K�v������j