関数の書き換え方法について

このQ&Aのポイント
  • 関数を書き換えることで、指定したシートのデータを逆順にコピーすることができます。
  • 問題を抱えている関数を変更するか、新しいスクリプトを書き直す必要があります。
  • 指定したシートのデータを一部逆順にする方法をアドバイスします。
回答を見る
  • ベストアンサー

関数のどこを書き換えれば実現できるのでしょうか

以前に質問ITmediaでChiquilinさまという方から下記の素晴らしい関数を教えて頂きました、めぐみと申します。 当時、短時間でこれだけの関数を書いてくださり本当にありがたかったです。 =QUERY({ARRAYFORMULA(ROW('Sheet1'!A2:K)),'Sheet1'!A2:K},"select Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12 where Col2 Is Not Null and Col1 + 19 > " &COUNTA('Sheet1'!A2:A) &" order by Col2 desc, Col1 desc") 現在、この関数に問題を抱えています。この関数は、 Sheet1のA2:Kにあるデータをコピーして一番下のデータから10行分をコピーして、コピーした下の行のデータから順番に、このスクリプトがあるシートのA2:Kに張り付けなさいという関数で、結果、以下のようになります(Sheet1→Sheet2)。 ■Sheet1 1行目 2行目 3行目 4行目 5行目 6行目 7行目 8行目 9行目 10行目 関数で以下のようにコピーされます。 ■Sheet2 10行目 9行目 8行目 7行目 6行目 5行目 4行目 3行目 2行目 1行目 今抱えている問題なのですが、これを以下のようにしたいのです。 何度か見様見真似でトライしてみたのですが、実現できませんでした。 スクリプトを書き換えれば下記のように動作させることは可能なのでしょうか? それとも、もう一度0からスクリプトを書き直す必要があるのでしょうか。 ■Sheet2 9行目 10行目 7行目 8行目 5行目 6行目 3行目 4行目 1行目 2行目 もし、解決する方法が分かる方がいらっしゃいますようでしたらアドバイス頂けないものでしょうか。 恐れりりますがなにとぞよろしくお願いいたします。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/691)
回答No.1

ARRAYFORMULAを使っていますので、 Googleスプレッドシートの話のように思えますが いかがでしょうか? ここはエクセルのサイトです。 Excelの解を示せばいいですか?

megumi199
質問者

お礼

アドバイス頂きましてありがとうございました。 質問を出す場所が間違っていたことに気が付きました。 今後ともよろしくお願いします。

関連するQ&A

  • 関数のどこを書き換えれば実現できるのでしょうか

    以前に"質問ITmedia"でChiquilinさまという回答者の方から以下の関数を教えて頂ことがあります。 当時、短時間でこれだけの関数を書いて頂き本当に助かったのですが小さな問題が解決できず、何度か見様見真似でトライしてみたのですが、実現できず、この度質問させていただきました。 -------------Chiquilinさまから教えて頂いたスクリプト-------------- =QUERY({ARRAYFORMULA(ROW('Sheet1'!A2:K)),'Sheet1'!A2:K},"select Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12 where Col2 Is Not Null and Col1 + 19 > " &COUNTA('Sheet1'!A2:A) &" order by Col2 desc, Col1 desc") -------------Chiquilinさまから教えて頂いたスクリプト-------------- 現在、この関数の処理方法で問題を抱えています。この関数は、 Sheet1のA2:Kにあるデータをコピーして一番下のデータから10行分をコピーして、コピーした下の行のデータから順番に、このスクリプトがあるシートのA2:Kに張り付けなさいという関数です。 結果、以下のようになります(Sheet1→Sheet2)。 ■Sheet1 1行目 2行目 3行目 4行目 5行目 6行目 7行目 8行目 9行目 10行目 ARRAYFORMULA関数で以下のように処理されます。 ■Sheet2 10行目 9行目 8行目 7行目 6行目 5行目 4行目 3行目 2行目 1行目 下記のようにさせたいのですが、どのようにARRAYFORMULA関数を書き換えれば下記のようにコピーさせることができるでしょうか? それとも、もう一度0からスクリプトを書き直す必要があるのでしょうか。 ■Sheet2 9行目 10行目 7行目 8行目 5行目 6行目 3行目 4行目 1行目 2行目 もし、解決する方法を分かる方がいらっしゃいますようでしたら些細なことでも結構ですのでアドバイス頂けないものでしょうか。 恐れりりますがなにとぞよろしくお願いいたします。 めぐみ

  • SUMIFS関数で行が変わると反映されない。

    写真の、上のシートで入庫または出庫を選んで数を入れると下のシートの入庫数、出庫数に自動で反映されるようにしたいです。条件は製品番号が一致していることです。 SUMIFS関数を使ってみたらシート間で同じ行には数字が反映されたのですが、上のシートの6行目に出庫数を入れても、下のシートの同じ製品番号である1行目の出庫数に反映されません。 使用した関数は以下です。(写真内と同じもの) =SUMIFS(OFFSET(入出庫リスト!$H$3,0,0,COUNTA(入出庫リスト!C:C),1),OFFSET($E$3,0,0,COUNTA(入出庫リスト!C:C),1),[@製品番号],OFFSET(入出庫リスト!$G$3,0,0,COUNTA(入出庫リスト!C:C),1),"出庫") 関数のどこを間違えているのか教えて頂きたいです。 よろしくお願いします。

  • エクセル2010の関数コピーについて

    エクセル2010でシート2~10にデータを入れ、シート1は取りまとめようとして一覧表を作り、シート2~10に入力したデータがコピーされるように関数を入れています。 シートを増やそうと思い、一覧表の行も増やし関数をコピーしようとしたのですが、通常2行目がシート2がコピーされるように関数が入っていたら、3行目にコピーすると自然とシート3がコピーされるように関数の数字も変わってくれますよね? それが変わらず、まったく同じ関数になってしまうのです。 他の人が作ったものから追加しようとしているので、何か設定しているのかも知れないのですが、まったくわかりません。 ちなみにコピーをするときは何もメッセージは出ません。どなたか教えてください。よろしくお願いします。

  • エクセル 関数を使っての自動転記について

    ネットでいくつか検索してみましたが、こちらの検索方法が悪かったためかヒットしなかったので 改めてこちらで質問させて頂きます 今回の質問内容ですが、例えばの話シートAのA列の1行目に1組、2行目に2組、3行目3組と入力してあり、それがシートBのA列にも同じく1組、2組、3組・・と同じように表示したいというものです それだけでしたらイコールを使えば良いのですが、さらにシートAの1組、2組、3組と追加でその下の4行目に4組と入力した場合、シートBにも自動で3組の下の行に4組と入力されるようにしたいというものです (例えばの話なので1行目の文字がりんご、2行目の文字がみかんといったように数字以外になる事ももちろんあります) OFFSET関数やCOUNTA関数を使って、シートAの空白以外のセルを数えて、そのセル数分だけ シートBにデータが表示されるようにしたいのですが具体的な関数の組み合わせが分かりません 不明な点御座いましたら追記にてお答えしますのでお分かりになる方がいらっしゃいましたら ご教授の程お願いします

  • エクセルについての質問です。関数で可能かどうか

    まずシート2の1行目に時間と上や下のデータがリアルタイムで5分おきに自動で入力されてきます。シート1にはあらかじめ作成した時間のみの表があります。関数でシート2のA列を参照にしてシート1の同じ時間のところに上や下のデータをコピーすることは可能でしょうか?5分おきにデータがくるので手作業はしない形が希望です。シート1の表の形も変えたくありません。マクロでは可能だと思いますが、そこまでのスキルがないため関数でできればと考えています。

  • ExcelのCOUNTA関数で数えた数だけ連番を付けるには

    ExcelでB列から下の行にデータが入力されています。 そのデータ数を数えるために,B4セルに=COUNTA(B5:B100)関数を入力します。 B4セルで数えた数を元にして,A5,A6,A7・・・と下方向にその数まで1,2,3・・・と連番を付けていきます。 もしB4セルの値が0なら連番は付けません。 以上のマクロをシートに貼り付けるにはどのようにしたらよいでしょうか? 教えてください。お願いします。

  • エクセル OFFSET関数について

    エクセル OFFSET関数について 以下のようなシートを2枚作成し、照合したいと考えています。 上段がシート1で、下段がシート2です。 2枚のシートの内容は同じようなものですが、セルの位置が 2枚ともバラバラで、できればROWS COLUMS関数を使って 照合したいと思いますが、二つの関数の使い方がよくわかりません。 照合の仕方は、シート1のデータをシート2をコピーした3枚目のシート(セルはすべて空欄) を作成して、そこにコピーしていきたいです。 一番左端の喫茶店の行番号、列番号を関数の中でどう設定すれば、3枚目のシートができて、 簡単に下までオートフィルできるのでしょうか。 1月31日までデータが入っているので、一つ一つ数式を入れていくのは大変です。 お願いします。

  • VBAのxlDownと同じ昨日の関数

    VBAでRange("A5").End(xlDown).Rowとしたら、A5から下方向にデータが連続して入力されている 最終行を返しますが、これと同じ機能を持ったエクセル関数はありますか? 今、A5からA10までデータが入っていたら、 初めて空白セルが存在する一つ上のセルの行の「10」という値か A5からA10まで6行データが入力されているので、「6」という値を取得したいです。 出来れば、後者がありがたいです。 Counta関数を使って、 COUNTA($A:$A)-COUNT($A$1:$A$4)と書きましたが、A12以降に値が入っていたら、対応できないので上手くないかなと思います。

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

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

  • Excelの関数を使用したセルをコピーする場合

    よろしくです。 Sheet2のA1~G1にデータがあり、これをSheet1のB1~B7に縦にコピーします。 単純にコピーならばペーストでできますが、Sheet2のデータの変更をSheet1に反映できるように関数でSheet1に入力しようとしていますが関数がうまく見つかりません。 Sheet1には、Sheet2の行は固定で列を移動させて反映するような関数で考えていますが、いい関数があるでしょうか。 うまく表現できているか不安ですが、ご教授いただければと思います。

専門家に質問してみよう