• ベストアンサー

前半分の行には1,3,5,7…を、後ろ半分の行には2,4,6,8…を自動で入力する方法は

エクセル2000を使用しています。 C列に文具名が入力されている表があります。 別のシートにある約500種類の文具一覧の中から、 毎月末に、ある条件を満たした文具名だけをC列に抽出しています。 月によってC列に抽出される文具名の数は変動します。 各文具名のA列には1,2,3,4の連番を、 B列には前半分の行に1,3,5,7…を、 後ろ半分の行には2,4,6,8…を入力したいのですが、 自動で入力する方法があれば教えていただけないでしょうか。 A列  B列  C列  1   1  えんぴつ  2   3  消しゴム  3   5  三角定規  4   7  コンパス  5   2  下敷き  6   4  ボールペン  7   6  ノート  8   8 セロハンテープ 上の例では文具が8個ですので、 A列は1~8 B列は半分の4行目までは1,3,5,7 5行目からは2,4,6,8が入ります。 文具が奇数個の場合のB列は… 例えば11個の場合には、 1~6行目まで1,3,5,7,9,11 7~11行目まで2,4,6,8,10 が入ります。 C列に抽出される文具が500個近くなる月がありますが、 現在はA1,A2に1,2を入力してマウスで下にフィルコピー、 B列には、前半分の行まではB1,B2に1,3を入力し、 後ろの半分の先頭行と、その次の行に2,4を入力して それぞれフィルコピーしています。 抽出された行数に応じて、自動でA列、B列に番号をふる方法が ありましたら教えて下さい。 宜しくお願いします。

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

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.6

[回答番号:No.5] の DOUGLAS_ です。  [ROW()] 関数を使うと、行のデータがずれるかも知れませんね。 B1: =IF(C1="","",A1*2-IF(A1*2>MAX(A:A)+1,EVEN(MAX(A:A)),1)) でお試しください。

tsukino060
質問者

お礼

DOUGLAS_さん 再度の回答、有り難うございました。 省エネ型があるなんて。。。 式が短い!ということしか今の私にはわかりません。。。 行のデータがずれるかも…という理由も 今現在は未知の彼方にあるように思えますが、 何とか理解できるよう勉強します。 有り難うございました!

その他の回答 (5)

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.5

では、私も省エネの式をお一つ。 =IF(C1="","",ROW()*2-IF(ROW()*2>MAX(A:A)+1,EVEN(MAX(A:A)),1))

回答No.4

う~ん イマイチの出来 =IF(C1="","",IF(COUNT(A:A)+1>=A1*2,A1*2-1,A1*2-COUNT(A:A)-MOD(COUNT(A:A),2))) 参考まで

tsukino060
質問者

お礼

CoalTarさん この方法でも希望通りの結果が得られました。 本当に有り難うございました。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.3

◆こんな方法もありますよ B1=IF(C1="","",IF(A1=COUNT(A:A),INT(A1/2)*2,IF(B2=2,EVEN(COUNT(A:A))-1,B2-2))) ★下にコピー

tsukino060
質問者

お礼

お早うございます。 そして本当に有り難うございます! この方法でも希望通りの表ができました。 私の関数の知識は、How toサイトやヘルプを見て、 その時々に必要な知識だけを見つけて得たもので 非常に浅くマダラ状ですので、こんな複雑な式はとても作れそうにありませんが、一つ一つの成り立ちを勉強して理解していきたいと思います。 有り難うございました。;

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.2

B1 =IF(C1="","",2*MOD(ROW(1:1)-1,ROUNDUP(COUNT(A:A)/2,0))+1+(ROW(1:1)>ROUNDUP(COUNT(A:A)/2,0))) でもいいみたいです。ごめんなさい。 ...修正できないんですね。このサイト。

tsukino060
質問者

お礼

最速の回答、ありがとうございました!! 質問は初めてでしたので、説明も自信が無くて どんな回答があるのか心配していましたが 本当に嬉しくて感激しました。 関数の意味がわからないままコピー&ペーストしたところ 求めていた通りの結果が得られました。 お蔭様で随分時間が短縮できそうです。 本当に有り難うございました。 関数って面白いものですね。 時間のある時に教えていただいた方法を理解できるように じっくり勉強したいと思います。

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.1

__A_B______C_ 1_1_1__えんぴつ_ 2_2_3__消しゴム_ 3_3_5__三角定規_ 4_4_2__コンパス_ 5_5_4___下敷き_ 6_6_6_ボールペン_ __A_B______C_ 1_1_1__えんぴつ_ 2_2_3__消しゴム_ 3_3_5__三角定規_ 4_4_7__コンパス_ 5_5_2___下敷き_ 6_6_4_ボールペン_ 7_7_6_リラックマ_ A1 =IF(C1="","",ROW(A1)) 下方向・↓ B1 =IF(ROW(1:1)>COUNT(A:A),"",2*MOD(ROW(1:1)-1,ROUNDUP(COUNT(A:A)/2,0))+1+(ROW(1:1)>ROUNDUP(COUNT(A:A)/2,0))) 下方向・↓

関連するQ&A

  • 行の挿入で数式も自動的に挿入

    C1列に=SUM(A1:B1)を入力し、オートフィルを30行目までかけました。 3行目で行の挿入をした時に 自動的にC列に数式が入力されている状態 (上の行、又は下の行のコピーを挿入) にしたいのですがどうすればよろしいでしょうか? 行をコピー  → コピーしたセルの挿入 以外の方法はあるんでしょうか? よろしくお願い致します。

  • エクセルで行挿入した際、自動的に計算式も入力される方法を教えて下さい。

    例えば、A列は単価を入力する欄、B列には数量を入力する欄、C列には=A1*B1(1行目の場合)の計算式が入っている表があるとします。 表の途中で行挿入すると、自動的にCのセルに数式が入力される方法はありますでしょうか? 複数の人に毎月この表(実際はもっと列が多い表)に入力して貰って集計等をしているのですが、各個人で表の途中で行挿入して行を増やした際、数式がコピーされてない人がいるため、行挿入すると自動的に数式が入力される方法がないかと思っております。 エクセルのバージョンは2000又は2003、行挿入は必要なので、行挿入を禁止する事はできません。 宜しくお願いします。

  • EXCELで自動で行が挿入できますか?

    EXCEL2000を使用しています。 1.下記のようなプロジェクトリストを作成しています。 A列:プロジェクト B列:試験 C列:施設名 2.C列に施設名を入力すると、自動的に行の挿入ができるようにしたい。 3.試験が決定されると次々と施設が決まっていくため、予め、施設名を入力することができません。 4.その都度、行の挿入を行えばいいのかもしれませんが、複数の方が入力するため、自動的にできたらいいなと考えています。 厄介な質問で申し訳ありませんが、何かよい方法はありますでしょうか? どうぞよろしくお願いいたします。

  • エクセル 行を追加したら自動マクロでコピー

    A列に行を追加したら自動マクロで(1)と(2)を行いたいのですが、 どのようなマクロを作成すれば良いのでしょうか? (1)C1列~E1列を選択 (2)C1列~E1列をオートフィルで下までコピー

  • エクセル 入力した年月日によって、行を入れ替えることって可能ですか?

    A列1行目:2008、B列1行目:11、C列1行目:20といったように、 セルが分かれて年月日が入力されているデータがあります。 このデータに後から下の行に入力していく年月日が、例えば、 A列2行目:2008、B列2行目:10、C列2行目:20の時、 この2行目の年月日の方が、1行目の年月日よりも先の日付となりますが、 この時、1行目と2行目を自動で入れ替えてくれるような仕組み?を 組むことは可能でしょうか? お知恵を貸して下さい。よろしくお願いいたします。

  • エクセルの自動入力を

    今、手元にエクセルで作った一覧表が有ります A列には「入荷日」 B列には「製品番号」 C列には「製品名」 D列には「大きさ(重量)」 E列には「担当者」 が入っていて、全部で約25000行ほどの一覧表です。 入荷日の欄<A列>には =TODAY() の関数式が入っており、自動で入力されます。 (最後のコピー→テキストで貼付けをする) 製品番号,製品名,大きさ,担当者は関連しているため 製品番号を入力すれば他が自動で入る仕組みになっていました。 例えば製品名の所には =VLOOKUP(B25633,B:E,2,FALSE) といった感じで、B25633のセルの製品番号から製品名を自動記入 していました。 しかし最近になり担当者が変わってしまったのですが、この関数では いまだに過去の一番古い担当者を自動入力してしまいます。 上から検索が行われているためだと思うのですが、 一番最近のデータ(画面で言う下)から検索を行い 自動入力をする方法って、他には無いんでしょうかお願いします。

  • 自動入力マクロ教えてください

    sheet1のB列に数値を入力していますデータは10行目以降に入力されています。 データが1,10.20ならsheet2のB列、2.15.35ならsheet2のC列5.40ならsheet2のD列それ以外はsheet2のE列に自動的に入力したいのですがそのマクロを教えていただけないでしょか。行はsheet1と同じ行に入力します

  • Excel 行と日付自動入力する方法

    Excelで金融機関の支払表を作っています。 目標イメージ(空白が認識されずずれるので勘弁してください) A  B  C  D  E  F  G  1  年  月 日 曜 支払  他略 2  2008 3  1 土  水道   - 3  2008 3  2 日  電気   - 4  2008 3 3  月   - - 5  2008 3 4 火   ガス   - ・・・ 32 オートフィルタ合計の管理(年の水道料金別などを出すための行) といった感じですなのですが、エクセル初心者なので現在次の日がほしいときは6行目挿入、オートフィルコピー、月が替わると手動で4 1(4月1日)と入力して同じようなことをしています。挿入と手動入力をするのに手間がかかりますので、2008 3 1を入力すると3月の日付が自動挿入(行が挿入)、自動入力(2~31まで)などされて効率よくしたいので方法、マクロ、コードなんでもいいので教えてください。オートフィルタ合計行を作り年、月、日を分けていますので手間取っています。 できれば今後ずっと使っていく予定ですので、4月は30日までとか閏年とかも認識させたり、土日は自動色変更されるようにしたいです。 説明下手ですがお願いします。

  • 関数の自動入力について

    セルA列に数値を入力し、B列にある数値を入力すると、C列に自動に数値が入力されるように、設定をしたいです。 例えば、セルAの1に10と入力してあり、セルBの1に、20と入力すると、自動にCの1に30という結果(足し算)が入力されるような設定はどうすれば良いですか。 お願いします。

  • EXCELで数値の同じセルの行を自動的に選択したい

    ある固定のセル(例えばA列1行目)に入力した値と同一値が入っているセル(A列の?行)を検索し、その行すべての値を固定の行(例えば2行目)に自動的に入力する方法はありますか。 具体的に言うと、 前提条件として、行は日々増えていきます。 (1)セル(A1)に「2006/11」と自分で入力すると、 (2)A列内で「2006/11」を自動的に検索する。 (3)その結果セル(A15)に同一値が見つかったとする。 (4)15行目の数値(列A~列Gまで)を2行目に自動的にコピーする。 自分で入力するのは(1)だけです。 このようなことはどうすればできるのでしょうか。

専門家に質問してみよう