• ベストアンサー

エクセル教えてください

報告書を作成しているのですが、1ページ目に入力した項目を2ページ目に別の表として作成するのですが、時間がかかってしまいます。 時間短縮のため、1ページ目に入力すると横の2ページ目の表に自動的に入力されるようにしたいのですが、方法がありましたら教えてください。 <数字の場合> 0、0.1、1.3、25.7など0から25.9までの小数点1桁の数字を入力。 2ページ目の表には0から25までの列があり、0.4なら0に、10.5なら10のように、小数点を切り捨てた数字の列に1ページ目と同じ行に1と入るようにしたい。 <文字の場合> 1ページ目の決まった列に任意の単語が入力されると、2ページ目の表の同じ単語の列に、1ページ目と同じ行に1と入るようにしたい。 わかりにくいかもしれませんが、よろしくお願いします。

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

  • ベストアンサー
  • 134
  • ベストアンサー率27% (162/600)
回答No.5

=if(countif(a2:b2,"転倒")>0,1,"") (「転倒」と入っているセル番地で置き換え可)でしょうか?

sora-ayase
質問者

お礼

回答ありがとうございます。 うまくいきました~♪ これで文字の場合は解決しました! あとは数字の場合なのですが、無理でしょうか?

その他の回答 (9)

  • Poer
  • ベストアンサー率45% (72/157)
回答No.10

Poer(ペル)です。個人的なお話ですが、ある事情で今からしばらく(一週間程度)パソコンから離れなければなりません。sora-ayaseさんの疑問が晴れることを願いながら、あとはよき回答者の皆さんにお任せします。良い結果が出るといいですね。楽しみにしています!

sora-ayase
質問者

お礼

夜分遅くまでお付き合いいただきありがとうございました。 おかげさまで、報告書作成の時間短縮が実現できました。 実のところ皆さんの回答されている数式がどういう意味なのか、まったく理解できていませんが、とても助かりました。 本当に感謝しています、ありがとうございました。

  • 134
  • ベストアンサー率27% (162/600)
回答No.9

失礼しました。#7では、Poerさんと同じ考え方です。 1ページ 11.5 8.3 23.7 2ページ |0|1|2|3|4|5|6|7|8|9|10|11|12|……|23|24|25|              1          1                      1 みたいなカンジにしたいのですが。 とあったので、数字の羅列のある行があるものとおもっていましたが、sakemanさんに対する補足の中に 切り捨てた整数を入力する場所がありません。 とありましたね。 =IF(INT($A2)=column()-3,1,"") とすると、列番号を数えてくれます。 なお、columnの後の「-3」というのは、調節して下さい。 C列を0 としています。 セル構成が不明なので、適切な数字が示せませんけど。

sora-ayase
質問者

お礼

本当に何度も回答ありがとうございます。 わかりにくい説明で本当に申し訳ありません。 |0|1|2|3|4|5|6|7|8|9|10|11|12|……|23|24|25| ↑は表の項目なんです。だから、1ページ目の対応するセルに0.8とかあったら0の項目の対応する行のセルに1と入るようにしたいというコトだったんです。

  • Poer
  • ベストアンサー率45% (72/157)
回答No.8

Poerです。たびたびお邪魔します(-_-#)。#5の方の方法で本当にうまく行きましたか?A列の同じセルに複数の単語を入れる場合、COUNTIF関数ではうまく行かないはずですが...。#6の方法には結構自信があるんですけどね...。

sora-ayase
質問者

お礼

本当に何度もありがとうございます。 うまくいきましたよ?えっと書き忘れましたが、A列とB列の2つのセルなんです。転倒は停止や再スタートとセットになることがあるので。   A     B コースアウト 接触 スピン   オイル 転倒    違反行為 クラッシュ  停止 再スタート ↑の中から転倒、接触、停止、スピン、再スタートだけを抜き出す。

  • 134
  • ベストアンサー率27% (162/600)
回答No.7

=IF(INT(A2)=10,1,"") 「10」のところは、数字の並んでいる行の各セルを指定して下さい

sora-ayase
質問者

お礼

たびたび回答ありがとうございます。 うまくいきませんでした…ショボン。

  • Poer
  • ベストアンサー率45% (72/157)
回答No.6

#2のPoerです。#2のお礼にお答えして、#2の式を訂正します。 (文字の場合) =IF(ISERROR(FIND(K$1,$A2)),"",1) 「数字の場合」は#2の方法でうまく行きませんか?K1に項目用の数字が入っていることが前提ですよ。 いかがでしょう?

sora-ayase
質問者

お礼

たびたび回答ありがとうございます。 できました~♪♪ K1を数字に変えたらバッチリでした~。 よくわかってなかったんですね。 そのまんまセルを入れてました。 ありがとうございました。

  • sakeman
  • ベストアンサー率43% (67/153)
回答No.4

<数字の場合> 1.Sheet1のA列に数字が入るとし、Sheet2のセル2.A1に0、B1に1、C1に3・・・Z1に25を入力しておく。 Sheet1のB列に=INT(A1)で切り捨てた整数を求めておく。 3.Sheet2のセルA2に=IF(ISERROR(MATCH(A1,Sheet1!$B$1:$B$9,0)),"",1)と入力し、セルZ2までオートフィルする。 <文字の場合> 1.文字列がSheet1のセルC1からC10まで入るとする。 2.Sheet2の3行目に文字列を入力しておく。 3.Sheet2のセルA4に=IF(ISERROR(MATCH(A3,Sheet1!$C$1:$C$10,0)),"",1)と入力し、右にオートフィルする。 質問の趣旨を取り違えていたら悪しからず。

sora-ayase
質問者

お礼

回答ありがとうございます。 まず、シートは同一上です。記述が足りず申し訳ありませんでした。 報告書の体裁をしておりますので、切り捨てた整数を入力する場所がありません。 他の方のお礼や補足に書いたようなカンジにしたいのですが、どうでしょうか? 質問がわかり辛い文章で申し訳ありません。

  • Poer
  • ベストアンサー率45% (72/157)
回答No.3

 #2です。横の2ページ目というのは、別のシートということでしょうか?それでしたら、 (数字の場合)  A2に数字を入力、表の結果が出る一番左上のセルをSheet2のK2とすると、K2に   =IF(ROUNDDOWN(Sheet1!$A2,0)=K$1,1,"") と入力し、あとは表全体にコピー。 (文字の場合)  同じように、   =IF(Sheet1!$A2=K$1,1,"") と入力し、あとは表全体にコピー。 (補足)  ちなみにもし私が同じようなことをするなら、いちいちシートを2つ使用せず、入力用のセルと表を同じシートに作成して、表に印刷範囲を指定して表だけが印刷できるように設定します。その方が、入力しながら入力結果を確認することができ、便利だからです。

sora-ayase
質問者

お礼

回答ありがとうございます。 いえ、同一シート上です。 同じ行で作業したかったので、1ページ目の横に2ページ目を続けて作っています。

  • Poer
  • ベストアンサー率45% (72/157)
回答No.2

(数字の場合)  A2に数字を入力、表の結果が出る一番左上のセルをK2とすると、K2に   =IF(ROUNDDOWN($A2,0)=K$1,1,"") と入力し、あとは表全体にコピー。 (文字の場合)  同じように、   =IF($A2=K$1,1,"") と入力し、あとは表全体にコピー。 でいかがでしょうか。

sora-ayase
質問者

お礼

回答ありがとうございます。 数字の場合ですが、うまくいきませんでした。 文字の場合は、同列に文字が入っていたら、任意の文字以外でも1が入りました。 文字はA列に停止、転倒、スピン、再スタート、接触のどれかが入ると、2ページ目の停止、転倒、スピン、再スタート、接触のそれぞれの項目に1が入るようにしたいのですが。 1ページ スピン 停止 違反行為 転倒 転倒 停止 2ページ |停止|転倒|スピン|再スタート|接触|   1          1        1   1     1 みたいなカンジに。

sora-ayase
質問者

補足

数字の場合も補足します。 1ページ 11.5 8.3 23.7 2ページ |0|1|2|3|4|5|6|7|8|9|10|11|12|……|23|24|25|              1          1                      1 みたいなカンジにしたいのですが。

  • 134
  • ベストアンサー率27% (162/600)
回答No.1

<文字の場合> 1ページ目a2セルを、2ページ目a2セルに移すとき =if(sheet1!a2="","",sheet1!a2) と入力して、計算式をコピーになるかと思います。 <数字の場合> =if(sheet1!a2="","",int(sheet1!a2)) となるかと思います。

sora-ayase
質問者

お礼

回答ありがとうございます。 すみません、1ページ目と2ページ目は同一シート上です。

関連するQ&A

専門家に質問してみよう