• ベストアンサー

エクセル関数をドラッグした際に連続データにならない

こんにちは エクセル関数をドラッグした際に 関数内で、データが連続してコピーされない場合の対処方法を教えてください。 以下の様な関数を作成しました。 =SUMPRODUCT(($E$2:$E$450="66")*ISNUMBER(FIND("りんご",$BS$2:$BS$450))) この数式を下にドラッグした際、"66"を "65" "64" "63" といった具合に、降順で表示されるようにしたいです。 そのままだと全て"66"になってしまいます。 【試してみた方法】 以前どこかで、「=」 と 「"66」以降を削除し、 下にドラッグすると 66が連続データとしてコピーされ、 後は置換で数式を修正する。というのをみたことがあるのですが サイトがみつからず、記憶があいまいなため 質問させていただきました。 上記の方法以外でも何か手がありましたら教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

1、数式先頭の、= を # に書き換えます #SUMPRODUCT(($E$2:$E$450="66")*ISNUMBER(FIND("りんご",$BS$2:$BS$450))) 2、文字列化した式を #SUMPRODUCT(($E$2:$E$450="66") と *ISNUMBER(FIND("りんご",$BS$2:$BS$450))) 2つに分け、例えばA1とB1に分割入力します。 3、A2にも分割した文字列式を入力します。最後の数字は、降順になるように、65とします。 #SUMPRODUCT(($E$2:$E$450="66") #SUMPRODUCT(($E$2:$E$450="65") 4、A1とA2を選択し、フィルハンドル(枠右下角の■)を下方にドラッグ #SUMPRODUCT(($E$2:$E$450="66") #SUMPRODUCT(($E$2:$E$450="65") #SUMPRODUCT(($E$2:$E$450="64") #SUMPRODUCT(($E$2:$E$450="63") #SUMPRODUCT(($E$2:$E$450="62") #SUMPRODUCT(($E$2:$E$450="61") #SUMPRODUCT(($E$2:$E$450="60") ・ ・ ・ 5、B1を下方にコピー *ISNUMBER(FIND("りんご",$BS$2:$BS$450))) *ISNUMBER(FIND("りんご",$BS$2:$BS$450))) *ISNUMBER(FIND("りんご",$BS$2:$BS$450))) *ISNUMBER(FIND("りんご",$BS$2:$BS$450))) *ISNUMBER(FIND("りんご",$BS$2:$BS$450))) *ISNUMBER(FIND("りんご",$BS$2:$BS$450))) *ISNUMBER(FIND("りんご",$BS$2:$BS$450))) ・ ・ ・ 6、C1に =A1&B1 とセルデータ結合式を入力し、下方にコピー #SUMPRODUCT(($E$2:$E$450="66")*ISNUMBER(FIND("りんご",$BS$2:$BS$450))) #SUMPRODUCT(($E$2:$E$450="65")*ISNUMBER(FIND("りんご",$BS$2:$BS$450))) #SUMPRODUCT(($E$2:$E$450="64")*ISNUMBER(FIND("りんご",$BS$2:$BS$450))) #SUMPRODUCT(($E$2:$E$450="63")*ISNUMBER(FIND("りんご",$BS$2:$BS$450))) #SUMPRODUCT(($E$2:$E$450="62")*ISNUMBER(FIND("りんご",$BS$2:$BS$450))) #SUMPRODUCT(($E$2:$E$450="61")*ISNUMBER(FIND("りんご",$BS$2:$BS$450))) #SUMPRODUCT(($E$2:$E$450="60")*ISNUMBER(FIND("りんご",$BS$2:$BS$450))) ・ ・ ・ 7、C列の数式セル範囲を選択し、コピー 8、その場で「形式を選択して貼り付け」の「値」で貼り付け 9、セル範囲選択状態のまま、編集メニューの「置換」で # を = に「すべて置換」

usamingolf
質問者

お礼

お礼がおそくなり、申し訳ございません。 探していた方法はまさにこれでした! 助かりました!

その他の回答 (4)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.5

試しにマクロを組んでみました。 Sub test1()   Dim r As Range   Dim i As Long   i = 66   For Each r In Range("A1:A66")     r.Formula = "=SUMPRODUCT(($E$2:$E$450=""" & i & """)*ISNUMBER(FIND(""りんご"",$BS$2:$BS$450)))"     i = i - 1   Next End Sub

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.3

またしても引数不足 ^^; 全角 JIS(TEXT(66-ROW(A1),"@")) =SUMPRODUCT(($E$2:$E$450=JIS(TEXT(66-ROW(A1),"@")))*ISNUMBER(FIND("りんご",$BS$2:$BS$450)))

usamingolf
質問者

お礼

お礼が遅くなり、申し訳ございません! 何度もご説明ありがとうございました。

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

ごめんなさい、走り読みだったので、数字が減るのですね。 66-ROW(A1) これだけは数字なので、全角文字にするなら JIS(TEXT(66-ROW(A1))) =SUMPRODUCT(($E$2:$E$450=JIS(TEXT(66-ROW(A1))))*ISNUMBER(FIND("りんご",$BS$2:$BS$450)))

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.1

66が数値でない場合は、テキストに変更する仕組みが必要になります。 例えば、TEXT関数で括ってネストする等ですね。 その事を視野に入れれば、上下方向への変動で有れば ROWを利用する事が可能だと思います。 ROW(A1)+65 等ですね。

関連するQ&A

  • エクセルの関数の引数について

    質問の内容は、エクセルの関数の引数を連続データでフィルできないか、という内容です。 「=MID(M14,1,1)」という数式が入ったセルを、フィルハンドルで ドラッグするとM14の値がN14になるという具合に連続になってしまいます。 M14を絶対参照にして試してみても、数式がコピーされるだけで連続データにはなってくれません。 真ん中の”1”という引数を連続データでフィルしたいのですが、 何か方法はありませんでしょうか? どなたかわかる方がいましたら教えてください。 お願いします。

  • エクセル2000です。

    エクセル2000です。 関数のオートフィル(連続データの作成)について 例えば =SUMPRODUCT(($A$1:$A$100=1)*($B$1:$B$100=2)) という関数がはいったセルを セルの右下でポインタが+になった状態で 下方向にドラッグした場合 セルのコピーではなく =1のところや、=2のところだけを 1.2.3.4.5・・・と増やしていくことは 不可能でしょうか? 不可能であれば何か別に便利な方法は ないでしょうか? ご教授お願いします。

  • Excelの関数がわかりません

    ExcelでSubtotalによって抽出されたデータを、Sumproduct関数で種類の数をカウントする方法がわかりません。 それぞれ、=subtotal(3,範囲) =SUMPRODUCT(1/COUNTIF(範囲,範囲)) までは、出来上がっておりますが、上記を組み合わせると数式エラーが発生します。 どのように組み合わせればよいか、または、全く違う方法があるのか是非お教えいただきたいと思います。

  • エクセルのデータの並び替え

    エクセルバージョン2002です。 並び替えの昇順降順で、並び替えの基準列から対象範囲迄選択して並び替えを実行しても並び替えが実行されません。 M列のM2より下に数式を組んで他の列より抜き出したデータとなります。 データと数式は、以下の通りです。 並び替えで、昇順降順出来る様に出来たらと思います。 ご教授お願い致します。 宜しくお願い致します。 変化量(M列) -0.0 0.02 -0.2 0.01 -0.1 -0.1 0.00 -0.2 -0.0 0.16 -0.0 0.02 0 0 -0.0 0.00 0.00 =IF(ISNUMBER(VALUE(MID(F1,1,4))),MID(F1,1,4),IF(ISNUMBER(VALUE(MID(F1,1,1))),MID(F1,1,1),"")) F列のデータ 変化量及び変化率 -- (--%) 0 0.02 (3.77%) -- (--%) 0.00 (0.00%) 0.16 (7.77%) 0.00 (0.00%) -0.02 (-22.22%) -- (--%) 0 -0.01 (-4.55%) -0.15 (-14.85%) 0 0.01 (10.00%) -- (--%) -- (--%) -0.12 (-16.00%) -0.05 (-14.29%) -0.23 (-16.67%) -0.01 (-11.11%) 0.02 (3.23%) 0.00 (0.00%) -0.24 (-6.72%)

  • エクセルの連続データでこんなことできませんか?

    いろいろ調べたのですが、どうしてもできなかったので 質問させてください。 以下の様な感じで連続データを作成したいのですが なにかよい方法はないでしょうか? a001 ・ ・ ・ a050 b001 ・ ・ ・ b050 c001 ・ ・ ・ c050 普通にドラッグしても同じセルのコピーか 同じ連続パターンの繰り返しにしかならず困っております。 最悪、数字の部分は(000~050)連続しなくても(データがなくても) 構いません。 例えば、50行ごとにA.B.Cとなればいいのですが・・。

  • EXCELで異なるSHEETからの連続データが入力できない。

    いつもお世話になっております。 EXCELでSHEET1に   A  B  C 1 あ  い  う 2 か  き  く 3 さ  し  す とあり、SHEET2に   A  B  C 1 あ(SHEET1のA1という書式) 2    い(同B1という書式) 3       う(同c1という書式) として、A1からC3をドラッグして、その下にフィルコピーしていったら、なにも出てこず、数式をみたらSHEET1のA4なんかがでてきてしまいました。 これを解決して、連続データを入力する方法をご教示ください! よろしくお願いします。

  • excel 連続データ入力 曜日

    曜日を連続して入力したいのですが、うまくいきません。 月とだけ入力して下にドラックすれば月、火、水、木・・・とちゃんと連続してくれるのですが、 月曜と「曜」の字をたすと月曜、月曜、月曜と連続するだけです。 オートフィルオプションの選択項目のもセルのコピー、書式あり、なしの3つだけで 連続するデータなどを選択する項目がありません。 ちなみに月曜日と最後に「日」を付けるとちゃんと連続してくれます。 連続して曜日を入力する際、これは連続するけど こっちはしないみたいな決まりみたいなものがあるのでしょうか?

  • 関数の連続コピー

     初めまして、よろしくお願いします。 関数=Sheet1!A2をマウスを使ってドラックするようにしてコピーすると、順に=Sheet1!A3、=Sheet1!A4というように、Aが順にコピーされていくのですが、関数=INDEX(Sheet1!A:A,2)の場合や=INDIRECT("Sheet1!A2")の場合では、Aが順にコピーされず、同じ関数を連続してコピーされていきます。このままではいちいち入力していかなければならないので、何とか=Sheet1!A2をコピーしていくように、連続でコピーできないでしょうか。よろしくお願いします。

  • エクセル関数orVBA 2の近似値を返したい

    A1:G1に小数点まである、数字が並んでいます。 2.18 1.85 2.33 2.23 1.88 2.11 1.93 そこでH1セルに2に最も近い数値を返す数式を作りたいです。 ネットで探した下の関数ですと、2以下のものを判別してもらえませんでした。 (上のデータですと、1.93を返してほしいのですが、2.11が返ってしまう。) H1: =SUMPRODUCT(MIN((A1:G1>2)*A1:G1+(A1:G1<=2)*1000000))) いい方法はありませんでしょうか。よろしくお願いいたします。

  • エクセルの関数のコピー

    エクセルの関数を下のセルにコピーをすると、1つずつ関数の式がずれてくるのですが同じ範囲の関数を同じ様に入力したい場合はどうすればいいですか? 例)=VLOOKUP(F3,Sheet2!A1:E5000,2,0) という関数があったとすると 次の行には=VLOOKUP(F4,Sheet2!A1:E5000,2,0) と検索値のみが1つ変わる感じにしたいのですが・・・ コピーでは無理なのでしょうか。やはり1つ1つ数式を入れてやらないとだめでしょうか。

専門家に質問してみよう