Page 237 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼方法を伝授して下さい。 TAKA 02/10/21(月) 13:59 ┣Re:方法を伝授して下さい。 Hirofumi 02/10/21(月) 21:05 ┗Re:方法を伝授して下さい。 Ron 02/10/21(月) 23:30 ┗Re:方法を伝授して下さい。 TAKA 02/10/22(火) 9:00 ─────────────────────────────────────── ■題名 : 方法を伝授して下さい。 ■名前 : TAKA ■日付 : 02/10/21(月) 13:59 -------------------------------------------------------------------------
A B C E F G H 1 1 5 2 最小 最大 合計 2 2 6 0.5 a 5 10 3 3 9 0.4 b 10 15 4 4 11 0.3 c 15 20 5 5 14 0.5 6 6 16 0.4 7 7 18 0.5 8 8 19 0.9 9 9 20 1.1 A,B,C列は、TXTファイルを読み込んだ状態です。 F1最小5〜G1最大10 F2最小10〜G2最大15 F3最小15〜G3最大20 こちらは、固定値です。 E2 (a)の例 5〜10 B1,2,3が該当その該当した隣C列 C1,2,3の合計をH2に合計させる。 ・読み込み時にB,C列に入ってくる値が固定で無いので このような読み込み時、変動するファイルを計算させる方法などは御座いますでしょうか? |
>読み込み時にB,C列に入ってくる値が固定で無いので > このような読み込み時、変動するファイルを計算させる方法などは御座いますでしょうか? この意味が善く解りませんが 単純なやり方としてはこんな感じかな? Openステートメントを使って、InputモードでCSVファイルを読みこんでいます ただ、最大、最小と言うのを、 例 (a)に就いて B列で、5以上、10を超えないC列の値を集計 と言う事でコードを組んでいます Public Sub Test() Dim i As Long Dim lngRow As Long Dim dfn As Integer Dim strFileName As String Dim vntWrite(1 To 1, 1 To 3) As Variant Dim vntTotal(1 To 3, 1 To 1) As Variant Dim strTmp As String strFileName = ThisWorkbook.Path & "\" & "TestData64.csv" lngRow = 1 dfn = FreeFile Open strFileName For Input As dfn Do Until EOF(dfn) For i = 1 To 3 Input #dfn, strTmp vntWrite(1, i) = Val(strTmp) Next i Range(Cells(lngRow, 1), Cells(lngRow, 3)).Value = vntWrite lngRow = lngRow + 1 Select Case Val(vntWrite(1, 2)) Case Is >= 20 ' Case Is >= 15 vntTotal(3, 1) = vntTotal(3, 1) + Val(vntWrite(1, 3)) Case Is >= 10 vntTotal(2, 1) = vntTotal(2, 1) + Val(vntWrite(1, 3)) Case Is >= 5 vntTotal(1, 1) = vntTotal(1, 1) + Val(vntWrite(1, 3)) End Select Loop Close #dfn Range(Cells(2, 7), Cells(4, 7)).Value = vntTotal End Sub |
こんばんは。 関数で。 H2に=SUMIF(B:B,">=" & F2,C:C)-SUMIF(B:B,">" & G2,C:C) 後は下へコピー では。 |
Hirofumiさん Ronさん 私の説明が不十分でも理解していただき、本当に有難う御座いました。 教えていただいた式を元に少し変えて 試してみます。 有難う御座いました。 |