- ベストアンサー
エクセル関数の初心者向け質問:シート2の計算式で行がずれる問題
- エクセルの関数について初心者向けの質問です。シート2で計算式を入力すると行が5行ずれてしまう問題が発生しています。正しい計算式を教えてください。
- シート1にはRefNo.と5か月分の数値があります。それをシート2で1カ月ごとに計算式に当てはめたいのですが、行がずれてしまいます。どのような式を使えば良いでしょうか?
- Excelの関数について質問です。シート2で行のずれが発生する問題があります。シート1のRefNo.と5か月分の数値を1カ月ごとに計算式に当てはめたいのですが、正しい式がわかりません。助けてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
確認したいのですが、 Sheet2!A1=Sheet1!A1 Sheet2!A2=Sheet2!A1 Sheet2!A3=Sheet2!A2 Sheet2!A4=Sheet2!A3 Sheet2!A5=Sheet2!A4 Sheet2!A6=Sheet1!A2 Sheet2!A7=Sheet2!A6 Sheet2!A8=Sheet2!A6 Sheet2!A9=Sheet2!A7 Sheet2!A10=Sheet2!A8 Sheet2!A11=Sheet1!A3 Sheet2!A12=Sheet2!A11 Sheet2!A13=Sheet2!A12 Sheet2!A14=Sheet2!A13 Sheet2!A15=Sheet2!A14 Sheet2!A16=Sheet1!A3 Sheet2!A17=Sheet2!A16 Sheet2!A18=Sheet2!A17 ・ ・ ・ ・ という具合になさりたい、つまりは、 Sheet2!A1=Sheet1!A1 Sheet2!A2=Sheet1!A1 Sheet2!A3=Sheet1!A1 Sheet2!A4=Sheet1!A1 Sheet2!A5=Sheet1!A1 Sheet2!A6=Sheet1!A2 Sheet2!A7=Sheet1!A2 Sheet2!A8=Sheet1!A2 Sheet2!A9=Sheet1!A2 Sheet2!A10=Sheet1!A2 Sheet2!A11=Sheet1!A3 Sheet2!A12=Sheet1!A3 Sheet2!A13=Sheet1!A3 Sheet2!A14=Sheet1!A3 Sheet2!A15=Sheet1!A3 Sheet2!A16=Sheet1!A4 Sheet2!A17=Sheet1!A4 Sheet2!A18=Sheet1!A4 ・ ・ ・ ・ という具合になさりたいと考えれば宜しいのでしょうか? それでしたら、Sheet2のA1セルに次の関数を入力してから、コピーしては如何でしょうか。 =OFFSET(Sheet1!A$1,INT((ROWS(A$1:A1)-1)/(ROWS(A$1:A$6)-1)),)
その他の回答 (4)
- yosifuji20
- ベストアンサー率43% (2675/6115)
もし#REF!になる場合はこうしてください 例えば、Sheet3のセルA1にカーソルをおいてそこでまず"="を入力した後で、カーソルを sheet1のA1の持って行き、Enterを押します。 するSheet3のセルA1には多分 =Sheet1!A1 の式ができると思います。 この式から"="を除いた"Sheet1!A1"が、Sheet2のA1に入る値です。 又、Sheet2のB1には =INDIRECT(A1) の式が入ります。 これらをそのままコピーすれば答えは出ます。 実際に私のExcelでテストしてうまく機能しています。 #REF!が出るのは多分 "Sheet1!A1" が正しく入っていないのだろうと思います。 このままコピーしてお使いください。うまくいきます。 (両側の"" ""はもちろんコピーしてはいけません、念のため)
お礼
すみませーん。 御回答ありがとうございました。 やってみたのですが・・・やはりだめでした。。。。 何がダメなんでしょう。。。。 はぁ~
- mt2008
- ベストアンサー率52% (885/1701)
Sheet2のA1に =OFFSET(Sheet1!A$1,INT((ROW()-1)/5),0) Sheet2のC1に =OFFSET(Sheet1!B$1,INT((ROW()-1)/5),0)/5 と、入れて下方向にコピーして見てください
お礼
早速のご回答ありがとうございました。 やってみたのですが、5行目からシート2のA2になってしますんです。。。 それからずれちゃって… かなぴー・・・
- yosifuji20
- ベストアンサー率43% (2675/6115)
ちょっと表の形を変えますが sheet2のA列に1列挿入します、(従来のA列がB列になります) sheet2のA1とA6にそれぞれ下記の値を入れておきます A1 Sheet1!A1 A6 Sheet1!A2 そしてセルB1 (以前のA1)とBに下記の式を入れます B1 =Indirect(A1) B6 =Indirect(A6) B6はB1を普通にコピーすれすればこうなりますね。 この結果はB1には sheet1のA1の値が表示され、B6にはsheet1のA2の値が表示されます。 Indirect関数は余り使われない関数ですが()の中で指定する番地に相当するセルの 値(この例ではsheet1のA1、A2)を参照する関数です。 従ってA11,A16にSheet1の好みの瀬いるの番地を入れておけば、B11,BN16にはしにステイのとおりのセルの値が表示されることになります。 この関数は結構面白い使いかたができるので、興味があれば研究してください。
お礼
御回答ありがとうございました。 試してみたのですが、なんだか#REFになってしまいます。。。。 簡単そうなこんな事も出来なくってまいってしまいます。。。。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 シート2のA1に#Sheet1!A1と入力してコピー後に編集→置換で「#」を「=」にすべて置換で如何でしょうか。
お礼
御回答ありがとうございました。 残念ながら、今後これをテンプレートとして使う事が出来なくなってしまうのです。
お礼
御回答ありがとうございました! 出来ました!!! 複雑な式を入れた方がうまくいくんでしょうか? 意味が良くわからないのですが、ゆっくり消化しようと思います。 今後の役に立つ事でしょう! 助かりました~! ありがとうございました。