- 締切済み
エクセルで直近の連続回数を求める
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
こんにちは! 画像では最大7までの列に数値が入っていますので、 直近とは7回まで「試験」?という解釈です。 VBAでやれば簡単なのですが、関数での方法をご希望だというコトですので 一例です。 ↓の画像のようにSheet2を作業用のSheetとして使用します。 まずSheet2のA1セルに =IF(COUNT(Sheet1!A2:K100),MAX(IF(Sheet1!A2:K100<>"",COLUMN(A1:K1)))) これは配列数式ですのでCtrl+Shift+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → Sheet2のA1セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 (Sheet1の100行目まで対応できる数式とします) これで実施回数の列番号(画像では7回までですので、列番号として「8」が表示されます) 次にSheet2のB2セル(Sheet1の「0」や「1」を入力するセルと同じセル番地に =IF(OR(Sheet1!$A2="",COLUMN()>$A$1),"",IF(Sheet1!B2=1,A2+1,Sheet1!B2)) という数式を入れSheet1の回数と同じ列数・行数分だけフィルハンドルでコピー! このデータを利用して Sheet1のL2セルに =IF(A2="","",IF(INDEX(Sheet2!2:2,,Sheet2!A$1)=0,"",INDEX(Sheet2!2:2,,Sheet2!A$1))) という数式を入れフィルハンドルで下へコピー! これで画像のような感じになります。m(_ _)m
貴方の説明では「直近」はH列ということのようだけど、一般的には「直近」の列はどうやって判断するのですか? 「直近」がI列なら、全ての「条件」とも「返す値は0か空白」になりますよね。