• ベストアンサー

Excel2003 セルA1の次はA4… 知恵を分けてくださいm(__)m

shiotan99の回答

  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.6

No.3 & No.5です。 訊き方が悪いせいか、どうもコチラが知りたいことが伝わらないようです。 >> B1と B3のように、1つの列に 2つ以上データが入ることはありえないのですか > ありえます。 > このデータのセル位置は固定です。 ありえるんですか? だったら No.3の方法ではうまくいきません。 「このデータ」 とは何ですか? 帳票シートに反映させるデータ? 「固定」 ならそれは何行目? ↑↑がこの質問の最大のポイントです!! ここをアイマイにされると、いつまでたってもすれ違いですよ! もう一度お訊きします。 **************************************** Q1 )帳票シートに反映させる B列から D列のデータは、  No.4さんがおっしゃっているように、無条件に  A1 のカテゴリ→ 3行目、A4 のカテゴリ→ 6行目、A7 のカテゴリ→ 9行目‥ですか? 要は、A列のデータの2行下、各カテゴリの最終行のデータ? Q2 )帳票シートの C列は、入力シートの D列のデータを表示させるのですか?  入力シートの C列のデータは不要ということ? ***************************************** ■ 上記質問がいずれも YESだと仮定して、No.3 の回答を訂正します。 次のようにしてみてください。 ★ 数式はコピー&ペーストしてください。 ( 画面上の数式は見づらいので ) ******************** ・入力シートが Sheet1 ・帳票シートが Sheet2 だとします。 ******************** ★ Sheet1 の F1に( 作業列です ) =IF(A1="","",ROW()) と入れて、入力データ最終行まで下にフィルコピー ★ Sheet2 の A1に =IF(COUNT(Sheet1!F:F)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!F:F,ROW(A1)))) ◆ ↑の数式についての注意事項は、No.3を参照してください。 以下は、結局 No.4さんと同じような数式になりますが、 ★ Sheet2 の B1に =IF($A1="","",INDIRECT("Sheet1!B"&SMALL(Sheet1!$F:$F,ROW(A1))+2)) と入れ、右の C1にフィルコピーして、 "Sheet1!B" → "Sheet1!D" に変更( ←コレ以外はそのまま ) ★ Sheet2 の C1は =IF($A1="","",INDIRECT("Sheet1!D"&SMALL(Sheet1!$F:$F,ROW(B1))+2)) になれば OK。 ◆ A1:C1 の数式を入力シートのカテゴリの数だけ下にフィルコピー カテゴリの数が 50コなら、50行目までフィルコピー ◆ 数式を『解読』されるのはけっこうなことだと思いますが、とりあえず試してみて希望どおりの結果になるかどうかを確認してください。( ものの 5分もかかりません )『解読』するのはそのあとにしましょう。 ◆ 何度も同じことを言うようで恐縮ですが、上記方法でうまくいかない場合、どううまくいかなかったのかをできるだけ具体的に補足してください。 

lippi1977
質問者

お礼

本当にお世話をかけてすみません。読み返してみても私の質問があいまいすぎて、shiotan99様とodessa7様にはずいぶんご迷惑をおかけしたと反省しています…。お二人の解説をテストシート上でためしてみると私の求めているものにすごく近いのですが、ここで「できた、できた」だけでは、実際のシートにのせたたときにできなかった時、「ここがこうならなかった」とすぐに補足することもできないと思うのです。 (…また説明不足でした…)「入力シート」も「帳票シート」も碁盤の目の表ではなく、「入力シート」においては、「帳票シート」には必要ないが、「帳票シート」にのせるデータを導き出すための計算や数値、文字が入っていたり、セルの結合されていたりしています。なので、質問欄で図解をするのが困難でした。 説明を省略(たとえがわかりづらかったですね…)しすぎてしまい、申し訳ありませんでした。 実は、shiotan99様の最初の回答(No.3)は、理解しきれていないまま、odessa7様の回答(No.4)が理解しやすかったのでそちらからとりかかっていたのですが、(No.5)でのつっこみで改めて自分の考えを整理しました。疑問を投げかけられたことで、自分の中でも一つずつ整理ができました。 朝から作業をして、結論は、No.3の回答を使わせていただき、理解したうえで応用もさせていただきました。 「解決」しました。本当にすれ違いのままでshirotan99様とodessa7様には不完全燃焼の思いをさせてしまうと思うと心苦しいのですが(;´_`;)これまでの回答が解決に導いてくれたことは紛れもありませんので、とても感謝しています。以後、質問をするときは気をつけたいと思います。ありがとうございました。

関連するQ&A

  • Excel2003…クロス検索??

    …データ入力シート…   A  B  C  D  E 1    1  2  3  4  2 あ  0  0  1  2   3 い  0  1  2  0 4 う  1  1  0  0 ・ ・ ・ 1行目は1月、2月、3月… A列に項目 月ごとの各項目に対する数値を入力しています。 …帳票シート…   A  B  C  D  E 1    月 2 あ 3 い 4 う A1セルに「1」(月)と入力したら B2セルには「あ」の「1」月の数値0が入るようにしたいのです。データ入力シートと帳票シートの項目の並びは同じです。(項目もデータ入力シートからひっぱってもよいかなとも思っているのですが、今のところは帳票シートにも同じ項目が打ち込んであります)LOOKUP関数を使えばよいのだとおもいますが、検索値が2個になるので単純にはいきませんよね…? 頭が働かなくて方法が思いつきません…>_<… いつも説明が悪くてみなさんを困らせていますが(__;) 知恵を分けてください。よろしくお願いします。

  • Excel:決まったセルから常にあるセルの最終行の引き算

    添付画像のA7~E7列に数値を入力していき、F列にB~Eの合計がSUM関数により表示されます。 必要に応じ、8行目以降にデータは累積していきます。 D4セルにC4からF列の常に最終行の引き算の数式を入れたいと思っています。 イメージは D4=C4-(F列の最終行)というものですが、具体的にどういう数式をD4セルに当てはめればよいでしょうか? 御教示宜しくお願い致します。

  • Excelセルの参照

    Excelにdataとnという2シートがあります。dataシートのA列3行目~22行目にデータが縦入力されており、以降B列、C列とデータ入力が繰り返されます。 nシートでdataシートの入力値参照のため、あらかじめdataシートの参照リンクを貼っておきたいのですが、nシートのデータは横並びであるせいか、参照リンクをうまくコピーすることができません。 dataセルのA3セルの値をnシートのD1に=data!A3と貼り付けて、W1(=data!A22)まで数式を自動コピーできないでしょうか。また、D2~W2まで=data!B3~=data!B22など参照リンクをコピーで作成できないでしょうか。 よろしくお願いいたします。 横並びに参照する必要があるのですが、

  • Excel2003 2つのシートから相互にセルの値を変更したいのですが

    Excel2003を使用して2つのシートにあるセルの値を相互に変更できるようにしたいのですが。 例えば Sheet2 のセル A1 に =Sheet1!A1 と入力しておけば Sheet1 のセル A1 に 80 と入力すると Sheet2 のセル A1 は 80 と表示されますが,この状態で Sheet2 のセル A1 に別の値を入力すると,もう Sheet1 のセル A1の値を参照しなくなってしまいます。 そこで教えていただきたいことがあります。 Sheet1 のセル A1 に値(例えば80)を入力すると Sheet2 のセル A1 の値も同じ値(例えば80)になり,逆に Sheet2 のセル A1 に値(例えば80)を入力すると Sheet1 のセル A1 の値も同じ値(例えば80)になるように相互に値が変化できるようにしたいのです。 具体的に私がしたいことは (1) Sheet1 ~Sheet6 の A列 には同じ40人の名簿を使う。 (2) Sheet1 の B列 には国語の得点,同様に Sheet5 まで社会,数学,理科,英語の得点を入力。(本来は複数のテストの合計得点として, K列 にしたいのですが,今回は B列 ということでお願いします。) (3) Sheet1 ~ Sheet5 のセル D1 にそれぞれの教科の合格に必要な得点を入力。 (4) Sheet1 ~ Sheet5 の C列 には =if(B2>=D1,"○","×") のような数式を入力し,合格なら○,不合格なら×を表示するようにする。 (5) Sheet6 の B列 ~ F列 にはそのぞれの教科の○,×が参照されるようにし,B列 ~ F列の42行目にそれぞれの教科の合格に必要な点数が参照されるようにする。 (1)~(5)をすれば, Sheet1 ~ Sheet5 を見れば教科ごとの合格者が分かり, Sheet6 を見たときに誰がどの教科で合格か不合格か分かります。 Sheet6 の全教科の合格者数をみて,それぞれの教科の合格に必要な点数を上げたり,下げたりしたいのです。 Sheet1 ~ Sheet5 に戻れば,合格に必要な点数の上げ下げが可能なのですが, Sheet6の B列 ~ F列 の42行目でも合格に必要な点数の上げ下げをできるようにしたいのです。もちろん Sheet6 で合格に必要な点数を上げ下げしたときには, Sheet1 ~ Sheet5 の合格に必要な点数をも反映されるようにしたいのです。 長文で分かりにくいかもしれませんが,いい方法があれば教えてください。よろしくお願いします。

  • EXCEL 数式が入った空白セルを数える

    毎度お世話になっています。 質問の内容ですが、例えば下記のようなシートがあるとします。 セルB1、セルC1、セルD1:手入力セル セルA1:数式「=IF(B1="","",B1+C1)」 セルA2:文字列 セルA3:数式「=IF(D1="","",D1*0.1)」 セルA4:文字列 セルA5:A1+A3の計算結果を表示 (※なお、セルA2、A4は数値が入らない) というような場合において、 ●セルB1、C1、D1になにも入力されていない場合、セルA5が空白となる。 ●セルB1、C1にのみ数値が入力されている場合、セルA5の計算結果がセルA1の値のみ。 ●セルD1にのみ数値が入力されている場合も上記と同様に計算結果が表示される。 以上の条件を満たす数式をセルA5に入力したいのですが、 COUNTBLANKは数式が入っている場合には使えず、COUNTAの場合だとセルA1、A3のどちらにも数値が入った場合に表示される、といった数式になります。 IFをいくつも使えば可能とは思いますが、もう少し単純に数式を作れたらと思い質問をさせて頂きました。 よろしければ御回答宜しくお願い致します。 (内容を訂正したため、いったん質問を削除しました。もし御回答中の方が居ましたら申し訳ありませんでした。)

  • エクセル2003で、あるシートのAからCの各行のセル1からセル100

    エクセル2003で、あるシートのAからCの各行のセル1からセル100にどんどん氏名を入力をしてゆき(つまり、A1からC100までということ)、それらの中で、ダブり入力をしてしまつた氏名を、D列のセルD1から下の行にどんどん表示をしてゆきたいのですが、、 出来ますでしょうか?

  • エクセルVBA、数式の入ったセルのコピーについて質問です。よろしくお願

    エクセルVBA、数式の入ったセルのコピーについて質問です。よろしくお願いします。 シートのA列は日付の入ったセルがあり、データを更新する度に行が追加されていきます。 数式(1)~(3)は、それぞれ異なる計算式が入っており、日付データを参照して計算を行っています。   A    B    C    D 1 日付データ 数式(1) 数式(2) 数式(3) 2 日付データ 数式(1) 数式(2) 数式(3) 3 日付データ   4 日付データ   5 日付データ   A列にデータが追加したときに、B~D列の数式をA列の最終行までコピーしたいのですが、 どのようなコードを書けばよいでしょうか? ちなみに、1行目のB~D列には、データ更新の有無に関わらず、必ず数式が入っているものとします。 何かよいアドバイスがあればよろしくお願いします。 【補足】 単純に考えると、B1~D1をA列の最終行までAUTOFILLすれば良いのでしょうが、データ数がかなり多く、 この方法だと時間がかかってしまいます。A列のデータ追加前の数式セルの最終行から、追加後の最終行までとすると、処理は早くなるのでしょうか?

  • エクセルのセル参照、一つずつ参照セルをずらしていきたい

    エクセルのセル参照の方法について教えてください。 2つのシートがあって、 ひとつのシートにはC4,D5,E6…というように行と列がひとつずつ増えていくところに値が入力されています。 このシートから、C4,D5,E6…のセルの値を取り出して 別のシートのA1,A2,A3…に縦に並んで表示させたいのですが、どのようにセルを参照させればC4,D5,E6…という 行と列がひとつずつ増えていくセルを参照できるでしょうか? よろしくお願いいたします。

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

    エクセルの関数。 Sheet1の作業列1のA2セルに =IF(COUNTA(Sheet2!2:2)=0,"",IF(Sheet2!A2="",A1,Sheet2!A2)) →数式1とする 作業列2のB2セルに =IF(A2=$D$2,ROW(),"") →数式2とする という数式を入れA2・B2セルを範囲指定 → B2セルのフィルハンドルで下へコピーしておきます。 (Sheet2の行数以上コピーしておく) そしてE2セルに =IF(COUNT($B:$B)<ROW(A1),"",INDEX(Sheet2!B:B,SMALL($B:$B,ROW(A1)))&"") →数式3とする という数式を入れオートフィルで列方向・行方向にコピーする。 教えて頂きたいことは、数式1、数式2、数式3が何を意味しているのか。 と、この数式を使って、表を作成したのですが、ある特定の数字(コード、D2セルに入力)を入力しても反応してくれない。 (E2~H2まで、空白セルの状態になります。) (sheet2は約1200行あります。) 教えて頂けないでしょうか?

  • 【Excel】行数の定まっていないセルを数式で参照できますか?

    Excel2003を使用しています。 Q30にある特定の数値が入力されたら、D列×行のセルの値をS30に表示するという数式を作りたいのですが、×行の行数はU30に入力されている数値の行としたいのです。こういったことはできるのでしょうか? ちなみに、今回の場合はU30には191と入力されていて、D191の値がS30に表示されるように数式を作りたいのですが。。。 こういうことは不可能であれば、できないという回答でもいただけるとありがたいです。 よろしくお願いします。