• 締切済み

関数:行を挿入すると数値がずれてしまう

今塾の成績管理表を作成しております。 シートは、名簿シート、◯月(12か月分)シートを用意しています。 ▼名簿シートは A学生番号  Bクラス  C高校名  D氏名 で、生徒は100人くらいです。クラスはA,B,C,Dと4クラスあります。 1~100行くらいに生徒名を登録し、 200~300行でクラス順で学籍番号順になるように、FILTER関数で並び替えをしております。 ▼◯月シートは A学生番号  Bクラス  C高校名  D氏名  E点数 となっており、A~D列はVLOOKUPを使い名簿シートを参照しております。 2月~1月にかけて、各生徒の成績を蓄積していこうと考えております。 ですが、やはり入塾退塾の生徒があるため名簿シートの行を消去したり、追加したりすることがあります。 私の関数の知識では、名簿シートの行を変更すると、◯月シートの方で生徒と点数にずれが生じてしまいます。以下参照 入塾前 A B C D E 001 A 桜高校   渡辺      50 002 A 下北高校  髙橋      37 003 B 能勢高校  柳       80 004 B 南高校   林       10  入塾後(名簿シート追加後) A B C D E 001 A 桜高校   渡辺      50 002 A 下北高校  髙橋      37 005 A 北高校   入塾      80 003 B 能勢高校  柳       10 A列は名簿シートを反映し、B~D列はVLOOKUP関数でA列を参照しているので、ずれることはないのですが、これでは肝心の点数がずれてしまいます。 A~D列の並びが変更されると、E列も一緒に移動するとこが出来るように関数を入れることは可能なのでしょうか? ご存知の方いらっしゃれば、ご教示いただければ幸いです。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

今問題になっているのは,各月のシートで「得点」と「生徒」が結びついていないのが直接の悪さ加減です。 入塾前の例で言えば,4行目の10点は,「そのシートの上から4番目の数字」でしかなくて,「004の林の(当月の)得点である」というデータの連係が何もありません。 具体的にどうしたら問題を解決できるかと言えば,名簿シートの右にひたすら月別の得点を継ぎ足していくことです。 こうすることで,004の生徒名は林であり,4月の得点は10点であり,5月の得点は15点であるというデータ連係が得られます。 月別シートが必要な場合,004を元にクラスや生徒名をVLOOKUPしたのと全く同じに,当月の得点をVLOOKUPしてください。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.2

画面右上の編集で置換えを選び$を空白(ブランク)に変換してみて下さい。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

置換えで、全ての$を削除してみて下さい。

riiiiiinpis
質問者

お礼

早速のご回答ありがとうございました。 こちらの知識不足で申し訳ございませんが、 置換えということは、どの数値を置換えればよいのでしょうか?

関連するQ&A

  • Excelでキーを使って関数で列を行に変更したい

    Excelで下記の事を関数で行うことが出来るでしょうか?方法を知っている方がいましたらお教えください sheet1    A B   1 1 33  2 1 33  3 1 34  4 1 45  5 2 21  6 2 25  7 2 25  sheet2    A  B  C  D  E   1  1  33 33 34 45 2  2  21 25 25 Sheet1の状態のキーをA列とした場合に、 Sheet2でキーをA列に入力後 B1 C1 D1 E1 に 関数を使って列でまとまっているデーターを 行にする方法が分かる方、お教え願います。 (Sheet2の B1 C1 D1 E1に入れる関数の 組み方が分からないと言うことです。 また、マクロはわからないので><) よろしくお願い致します。

  • エクセルの参照行の挿入による追加と行の削除に対応できる関数を教えてくだ

    エクセルの参照行の挿入による追加と行の削除に対応できる関数を教えてください。 sheet1を印刷用ページ、sheet2をデータ用ページとしています。 sheet2は頻繁に追加や削除をするのですが、単純な =sheet1!A1 ですと、 sheet2に追加してもsheet1に追加されたデータが反映されない。 sheet2の行を1つでも削除するとsheet1のその行は#REF!というエラーに。 という状態です。下記内容に対応できる関数はあるでしょうか。 sheet2がこのような時 行  A あ B い C う D え sheet2Dに「お」を挿入すると sheet1がこのようになるように。 行  A あ B い C う D お E え また、B行を削除したらsheet1が 行  A あ B う C え となるように。 そして、可能ならばコピーのドラッグで複製できるようにしたいのですが・・・ 条件が色々ありますが、よろしくお願いします。

  • if関数について

    if関数についてどなたか教えてください。 ある二つの名簿があって、二つの名簿を照合して名寄せをしたいのですが、たとえば、A列の1行目から10行目まで、同じくB列の1行目から10行目まで氏名が入っているとします。A列とB列に同じ名前が入っていれば、C列に○印をつけるように関数を設定したいのです。自分なりに考えて、次のようにif関数を設定しました。・・・がうまく表示されません。エラーは出ませんので、関数としては成り立っていると思うのですが、○印が表示されません。どなたか間違いを指摘いただけませんでしょうか? C1のセルに次の関数を設定して、C10までコピーをしました。 if(A1=$B$1:$B$10,”○”,””) よろしくお願いいたします。

  • excel関数を用いてある行の範囲内の数値のみを違う行に抽出し、同じ列に対応する値も引っ張ってくることは可能ですか?

        A   B   C   D 1   33   180 2   58   300 3   89   310 4   152   240 5   205   74 上のような表になっている時に、EXCEL関数を用いて、[A]行の「60以上、180以下の数値」のみをC列に引っ張ってきて、なおかつ[A]行のそれぞれの値に対応する[B]行の値をD行に引っ張ってくることは可能でしょうか? 理想的な結果として   A     B      C      D 1   33  180     58    300 2   58   300    89    310 3   89   310    152    240 4   152   240 5  205  74 というようになってほしいのです。 オートフィルターの範囲指定を用いると、C行に範囲内の値を引っ張ってくる事は出来たのですが、関数ではない為、他の表に応用が効かず、毎回フィルターをかけなくてはいけなかったです…そのため出来れば関数を使いたいのですが、何か方法は無いものでしょうか…

  • エクセルでHLOOKUP関数の選択範囲について

    エクセルでHLOOKUP関数を使って、検索したいのですが、 シートは、一覧表のシートと データが入っているA101、B203、C305、...シートは300シートくらいあります。 一覧表のシートには、下のような表になっていて、      A列  B列  C列  D列 ...          1003、1004、1005、1006、... 2行目 A101  3行目 B203 4行目 C305       .       .       . データのはいっているシート、A101は下の表になっています。      B列 C列 D列、・・・、Z列 2行目 1004、1005、1006、... 3行目 100、 200、 150、... 一覧表のB列の2行目には HLOOKUP(B2、シートA2のB2:Z3、2行目、FALSE) という感じで、シート名をセルA2のものを参照にして 探して表示させ、B列、C列、D列の2行目から下の行も 表示させたいのですが、うめくできませんでした。 INDIRECT関数を使ってみましたが、セル範囲が無効という エラーがでてしまいます。↓こんな感じで入力してみたのですが... SUMPRODUCT((INDIRECT($A2&"!$B$2:$Z$3"))=$B$1,(INDIRECT($A2&"!$B$2:$Z$3"))) 1つづつデータを見て手打ちはデータが多く、 どんどんデータが増えていくので できれば関数を使って表示させたいと思っています。 詳しい方いらっしゃいましたら、どうか教えてください よろしくお願いします。

  • エクセルで項目ごとに新しい別のシートにしたい

    エクセルで名簿を作成しています。 C列に生徒番号、D列に氏名、E列にクラスがAからFまでランダムに入っています。 この名簿を新しいファイルに、クラスごとに別のシートにしたいです。 できればシート名も「A」「B」となっていれば助かります。 A,B列にもデータが入っていますが、今回は生徒番号、氏名、クラスのみの ファイルにしたいです。 良い方法を教えてください。よろしくお願いします。

  • こんな関数お願いします

    こんな関数お願いします ドングリを拾った数の合計 Excel2003です、A列 月日 B列 氏名 C列 数量 行は2~60 氏名はA君B君C君D君です、 シート2のA列に氏名 B列に合計数量です。 B列の合計数量セルの関数式をお願いします、 シート1に記入するとシート2のB列に合計数量が出る方法A君でお願いします。

  • ある数値が何個目にあるか調べる関数ありますでしょうか?

    タイトルにありますとおり ある数値が何個目にあるか調べる方法 または関数がないか悩んでおります^^; 文章だけではわかりにくいので以下に例を示します。   A B C D  1 2 2 0 3 1 4 8 5 2 6 9 7 5 8 3   このような表があったとします。 A列に適当な数字が並んでいます。 A列で3が何個目にあるか?という場合は MATCH関数でMATCH(3,A1:A8)で8と表示されると思います。 調べたい数値が1個だけしか存在しない場合はいいのですが 複数ある場合、MATCH関数だとうまくいきません。 例えば、A列の2を調べる場合は1行目と5行目にあるため使えません。 このような場合、使えそうな関数、またはMATCH関数でも便利な活用方法など ご存知の方いらっしゃいましたら、ご教示いただけませんでしょうか^^;

  • EXCEL関数について質問です

    EXCELで同窓会旅行用の名簿を作っているのですが、下記のような動きをするEXCEL関数って作ることができますか? 具体的な方法を教えていただけると嬉しいのですが。。。 ・シート Sheet1に名簿一覧がある(例:A列は名前一覧、B列は部屋番号の空欄) Sheet2に部屋番号一覧がある(例:A列は部屋番号一覧、B,C,D列は名前の空欄) ・動き Sheet2のB,C,D列の名前の空欄に名前を入れていくと、 Sheet1の名簿の名前に対応した部屋番号がB列に自動で挿入される 万が一、Sheet2のB,C列(名前欄)で名前が重複してあった際には Sheet1の名簿に対応したB列に「エラー」と表示される ※Sheet1の名簿の名前(A列)は既に記入済みです。 ※Sheet2に部屋番号(A列)は既に記入済みです。 以上、お手数ですがよろしくお願いいたします。

  • 関数でなんとかなりませんか?(EXCEL)

    マクロや関数に関してはあまり知識がありません。 そこでお教えいただきたいことがあり、質問させていただきました。 まず、あるワークシートに以下のような表があります。 A列|B列 a   1 b   1 c   1 d   2 e   2 この表を新しいワークシート(ワークシート名:並べ替え)以下のように並べ替えたいと思っています。 A列|B列|C列|D列 1   a   b   c 2   d   e 要するに、B列の値を認識して値が同じものを1行目に横並びにしたいのです。 関数やマクロでなんとかなりませんか? 膨大なデータがあるので手作業でやるととてもしんどいですし、間違いがでやすくなり困っています。 お願いいたします。