• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL教えてください)

Excel初心者向けの使い方と注意点

このQ&Aのポイント
  • Excel初心者向けの使い方や注意点をまとめました。Excel2007(12.0.6654 5503)SP2を使用している方にも参考になる情報を提供します。
  • Excelでデータを入力する際に、特定の条件下でエラーメッセージを表示させる方法を紹介します。具体的には、A列の数字が1から連続している範囲内でB列とC列の数字が重複している場合にメッセージを表示します。
  • 具体的な例を挙げながら、A列が1から連続している範囲内でB列とC列の数字が重複している場合にエラーメッセージを表示する方法を解説します。Excel初心者の方でも理解しやすいように説明しています。

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

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

前提: グループを確定するために,B・C列に記入するより前にA列の番号を記入する A列番号はどこで1に戻っても構わないが,1に戻った後は間違い無く2,3,4…と順序よく続ける 手順: B:C列を列選択してから,データタブの入力規則を開始する 種類をユーザー設定に変え,下の空欄に =($A1<>"")*(SUMPRODUCT((OFFSET($B1,1-$A1,0,$A1,1)=$B1)*(OFFSET($C1,1-$A1,0,$A1,1)=$C1))=1) と記入し,「空白を無視する」のチェックを外してOKする。

excelwakaranai
質問者

お礼

「数式はエラーと判断されます。続けますか?」というメッセージがでても むりやりすすめていったらできました! ありがとうございました。

excelwakaranai
質問者

補足

回答ありがとうございます。 A列は先に記入するようにして データの入力規則で数式をいれてみたのですが 「数式はエラーと判断されます。続けますか?」というメッセージがでてきてしまいました>< どうすればいいでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

#1のご回答にのように作業列に「1塊ごと」に連番を関数で振り 2007ではCOUNTIFSが使えるので、2条件のCOUNTIFSを取り、>1かどうかでエラー文字列を出すかどうかの式を新たな列に入れてはどうだろう。 本件ではSUMPRODUCTを使った 例データ A-D列 1 100 1 2 200 1 0 3 300 1 0 4 300 1 1 1 200 2 0 2 400 2 0 3 200 2 1 1 500 3 0 3 200 4 0 4 500 4 0 5 200 4 1 C列は作業列 C列C2は1、C3の式は =IF(A3=A2+1,C2,MAX($C$2:C2)+1) 下方向に式を複写。 D列はD3に =SUMPRODUCT(($B$2:B2=B3)*(C$2:C2=C3)) 下方向に式を複写。 結果 上記D列。この1の行が質問該当なので、I F関数をかぶせて =IF(SUMPRODUCT(($B$2:B2=B3)*(C$2:C2=C3))>>=1,"入力済み","") A列で不連続例を挙げてみたが、質問には有無を明記してないが、それをするのがよく気が利く人。

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! VBAでの一例です。 ↓の画像のように1行目はタイトル行で、データは2行目以降に入力するとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてデータを入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range(Columns(2), Columns(3))) Is Nothing Or _ Selection.Count <> 1 Then Exit Sub Dim i, j, k As Long Application.ScreenUpdating = False For j = 2 To Cells(Rows.Count, 2).End(xlUp).Row If WorksheetFunction.CountA(Range(Cells(j, 2), Cells(j, 3))) = 2 Then Cells(j, 4) = Cells(j, 2) & "_" & Cells(j, 3) End If Next j i = Target.Row If Cells(i, 1) > 1 Then k = i - Cells(i, 1) + 1 Else k = i End If If WorksheetFunction.CountIf(Range(Cells(k, 4), Cells(i, 4)), _ Cells(i, 2) & "_" & Cells(i, 3)) > 1 Then MsgBox "すでに入力済みです。" Target = "" Target.Select End If Application.ScreenUpdating = True End Sub 'この行まで ※ D列を作業用の列として使用していますので、D列にはデータがないという前提です。 ※ D列が目障りであれば「非表示」にしておいてください。 ※ メッセージ表示後、もう一度入力セルを空白・選択するようにしています。 (すなわち、重複データは入力できません) ※ 入力 → 確定 の時点でマクロが走りますので、すでにデータが入っている場合はメッセージは表示されません。 ご希望の方法でなかったらごめんなさいね。m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

エラーメッセージではないですが、セルを赤くして重複を警告するのはいかがでしょう。 D列を作業列として使います。 D1:=IF(A1="","",1) D2以下には:=IF(A2="","",IF(A2<A1,D1+1,D1)) と、入れます、これで連番の塊ごとに番号が振られます。 次に、B:C列を選択して条件付き書式で、 「数式が」 =(1<SUMPRODUCT((B$1:B1=B1)*($D$1:$D1=$D1)))*($A1<>"") と、設定して条件が真の時の書式を赤く設定します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel2000で表を作っていますが、うまくできません

    Excel2000で表を作っていますが、うまくできません(T_T) セルA1+B1=C1 C1+A2+B2=C2 C2+A3+B3=C3.... のようなC列に合計欄がある表を作っています。(元帳のような物です) (A列、B列の欄には必ずしも全て数字が入る訳ではありません。) しかし、セルA列とセルB列に数字を入力していない場合、C列に全て「0」が 表示されてしまいます。 数字入力後は、全て下まで残高が入ってしまいます。 セルA列,B列に最後に数字を入れた行まで、Cに数字が入るようにしたいのですが、 できないでしょうか? (30行まで表を作って20行まで数字を入れたとき、21行から30行に残高も入らないように したいのです。) 何だかうまく説明できませんが、是非教えていただけますでしょうか。 よろしくお願いします。

  • EXCEL教えてください

    EXCEL初心者です もしわかりましたら教えてください A列には1から連続する数字がはいっています ただし任意で途中で1からまた始ります B列には任意の数字がはいっています C列にA列の1から連続した数字までの合計を自動で算出させるようにしたいです C列にはどのような関数を入れたらよいでしょうか? A B   C 1 300 1200 2 400 3 500 1 100 500 2 100 3 300 1 200 1300 2 400 3 600 4 100 説明がわかりずらかったらすみません 補足しますのでその旨記載お願いします

  • Excel関数、VBA

    A列に数字を入力するとB列に合計が出るようにしたい。 但し、条件があります。 数字の入力範囲はA1からA20まで。 B列の合計はA列の数字が連続した部分の最後に表示。 例 A列 B列 10 10 10 30 20 20 10 30 40 上記のように数字の入力は1行だけの時もあり、5行の時もあるので次の空欄までの合計をB列に表示したい。 VBでも関数でも構いませんので、どなたか詳しい方教えて下さい。

  • Excel関数

    Eccel2003を使用して以下のような入力作業を行っております。 A列~C列のセルに「1~10」いずれかの数字を入力して行きます。 入力パターンは (1)A列だけ入力 (2)A列とB列に入力 (3)A列~C列全てのセルに入力 の3パターンです。 複数の列に数字を入力する場合((2)及び(3))、同じ数字を入力することはありません。 【例】     A B C D  1  5  4  1  2  6  3   1 2  4   2 4 5  ・  ・  ・ このとき、A~C列に一つでも該当の数字(ここでは2と4と5)が入力されていた場合に、 ある文言(30文字くらい)をD列に反映させたいのですが、何か良い関数等ありますでしょうか?    ※ 上記例の場合、1,3,4行目のD列に文言を反映 例の4行目のように全ての列に該当の数字を入力することもあります。 ご教示頂きたく何卒宜しくお願い致します。

  • Excel関数について(初級者)

    例えば以下の表データがあり、    A   B  1 数字  記号 ←タイトル行 2  1   a 3  2   b 4  3   c A行のある数字を入力するとB行の同じ列の記号を表示させるのは(入力欄をC2、結果表示セルをD2として) D2に VLOOKUP(C2,A2:B4,2) でうまくいきました。つまり2を入力するとbという答えです。 でも逆にB行のある文字を入力するとA行の同じ列の数字を表示させるのに(入力欄をC3、結果表示セルをD3として) D3に VLOOKUP(C3,A2:B4,1) つまりcと入力すると3の答え でやってみたが#N/Aのエラーがでてうまくいきません。 間違った点のアドバイスをお願いします。

  • Excel関数

    Eccel2003を使用して以下のような入力作業を行っております。 A列~C列のセルに「1~10」いずれかの数字を入力して行きます。 入力パターンは (1)A列だけ入力 (2)A列とB列に入力 (3)A列~C列全てのセルに入力 の3パターンです。 複数の列に数字を入力する場合((2)及び(3))、同じ数字を入力することはありません。 【例】     A B C D  1  5  4  1  2  6  3   1 2  4   9 1 3  ・  ・  ・ このとき、A~C列に一つでも奇数が入力されていた場合に、 ある文言をD列に反映させたいのですが、何か良い関数等ありますでしょうか?    ※ 上記例の場合、1,3,4行目のD列に文言を反映 例の4行目のように全ての列に奇数を入力することもあります。 ご教示頂きたく何卒宜しくお願い致します。

  • EXCEL2007

    Win7EXCEL2007を使っております。3列3行とします。A1に100、B1には3、C1には、A1×B1にするため、=A1*B1と入力しました。C1には300と入ります。下の行も同様にするため、C1を下にドラッグしましたら、ゼロが並びました。質問は、ゼロを表示しない方法は有りますか?-が出る場合も有りますが、無表示が希望です。スッキリしますので。(実際は50行位有りますから)宜しくお願いします。

  • EXCELで

    EXCELで A列に4文字の任意の数字を B列に3文字の任意の数字を入れていきます。 *A列とB列は同じ行だけ数字を入れます。 A列の数字と且つB列の数字 異なる行で 同じ数字が入るときエラーメッセージか何かわかるように表示させるにはどうすればよいでしょうか? A        B 1234      123 5678      321 4956      695 1234      123 →1行目と同じ!! 以上、宜しくお願い申し上げます。          

  • エクセルで一致するをセルを参照して入力したい

    お世話になります。 わかりにくいタイトルで申し訳ないのですが以下の場合について教えてください。 A列に1,2,3,4,5・・・というように重複しない数字が入っています。 C列にも1,3,4・・・など重複しない数字が入っています。(1と3の間に空白セルはない) D列には任意の文字が入っています。 C列の数字と同じ数字は必ずA列には存在します。(逆にA列の数字がすべてC列にあるわけではない) ここであいているB列にその左のA列と同じ数字をC列から探し、その右側のD列の文字を入力したいのです。 (A列と同じ数字がC列にない場合は空白にする。) 例 A1:1 C列で「1」が入っているセルがC1、D1:みかん の場合 B1:みかん とする A2:2 C列に2がない場合 B2:空白 A3:3 C列で「3」が入っているセルがC2、D2:りんご の場合 B3:りんご とする この場合B列にはどのような計算式を入れておけばよいのでしょうか。 よろしくお願いします。 Excel2002です。

  • (Excel VBA)またまた困っています・・・ o...rz

    どうもrozzerです。 またもや高くそびえ立つVBの壁に激突して死にかけてしまっています・・・orz 今度は単純なマクロだと高を括っていたので鼻歌交じりでマクロを組んでいたのですが どうも如何せん上手くいきません! もう死にたいです! 現在エクセルで、とある業務で使うデータベースをマクロを組み最適化を図っています。 まず A列の2行目から任意の行に(10行までしかなかったり、1000行まであったりとランダムにあるとする)、任意の整数値があるとします。 その値の合計を、セル【B1】に表示させたいのです。 ですが、ここで問題なのですがセル【B1】に入力される式はSUM等の関数式ではなく、ただの「数値」として表示させたいのです。 つまりA列の2行目から任意の行(最終行まで)に入力されている整数値に、後々、変更があった場合に【B1】に表示されている値が、一番初めに合計の値をはじき出した値から変化しない様にしたいのです。 そして今度はセル【C1】に、A列の2行目から任意の行(最終行)までの合計値を「SUBTOTAL」関数[=subtotal(9,C1:**)]を入力したいのです。 ここまでの動作をマクロ化したいのですが、どうも如何せんどうも如何せん上手くいきません! もう死にたいです! 何卒、ご教授頂けましたら幸いで御座います。

専門家に質問してみよう