• 締切済み

エクセルでの検索

エクセルで、 SUBTOTAL関数で列の集計をしているシートで、 特定の行を左から検索していった時に 最初にヒットする数値のセル位置を取得したいのです。 何か良い方法があれば、教えて下さい。 出来れば、マクロを使わない方法で宜しくお願いします。 (INDEX,MATCH関数のアスタリスク検索では文字列しかヒットしませんでしたので。)

みんなの回答

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.3

こういう事でしょうか? B2:Z2で最初に数値が現れる列を数値で返します。 配列数式なので、Ctrl+Shift+Enterで確定して下さい。 =IF(COUNT(B2:Z2)>0,MIN(COLUMN(B2:Z2)*(1+999*(ISNUMBER(B2:Z2)=FALSE))),"")

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.2

求めを正しく理解しているか怪しいですが、 パズルかナゾナゾっぽいので興味が湧き挑戦してみました。 答えておきながらナンナンデスが、現実的な解とは思えませんので 私だったらVBAで関数を用意します。 それでもよかったら参考にしてみてください。 =MIN(IF(ISNUMBER(C2)*1=0,6,ISNUMBER(C2)*1),IF(ISNUMBER(D2)*1=0,6,ISNUMBER(D2)*2),IF(ISNUMBER(E2)*1=0,6,ISNUMBER(E2)*3),IF(ISNUMBER(F2)*1=0,6,ISNUMBER(F2)*4),IF(ISNUMBER(G2)*1=0,6,ISNUMBER(G2)*5)) なお、数値のセルがないと6が返ります。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

「最初にヒットする数値のセル位置を取得」することが、「SUBTOTAL関数で列の集計をしている」ことに影響されるとも思わないけど、貴方は大いに関係ありと考えているのですね? 何れにしても、「特定の行」のサンプルデータを行列番号入りで5、6行示してください。 SUBTOTAL関数の結果も分かるようにしてくださいね。それと「アスタリスク検索」とした貴方が作成した式もですよ。 「セル位置」てのは、左から何番目でOKですか?

関連するQ&A