今だけ人気マンガ100円レンタル特集♪

案件進捗表を作成しています。
進捗に応じて右へ右へとチェックボックスにチェックを入れていく形にしていて、
チェックボックスのとなりのセルに真偽の値を入れるように反映させています。
案件が増えるごとに、1,2,3行と・・とデータを増やしていきたいのですが、
1行目に作成した形式を下にコピーするとチェックボックスが全データ同じ動きをしてしまいます。
となりのセルに「TRUE」などを返すように反映させているチェックボックスはコピーできませんか?
教えてください。よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

エクセルでは、「フォーム」のチェックボックスと「ActiveXコントロール(コントロールツールボックス)」のチェックボックスの、2種類のチェックボックスが利用できます。


ご相談ではいったいどっちを使って作成したのか、しっかり情報提供してください。

#余談ですがご利用のエクセルのバージョンについても、必ず明記する事を憶えて下さい。


ただまぁ、どちらを使っても「下にコピーしただけで隣に結果が返る」ようにする方法は、残念ですがありません。



というワケで出来る方法:
1.今まで作成したチェックボックスはすべて消去する
2.「フォーム」のチェックボックスをシートに配置する
  その際、必ず「セルの中に納まる」ようにセルの大きさも含めて調整する
3.コントロールの書式設定は「設定しない」でおく
4.右クリックして「マクロの登録」を開始する
5.新規作成を選択、現れた画面で

Sub チェック1_Click()
with activesheet.shapes(application.caller).topleftcell.offset(0, 1)
.value = not .value
end with
End Sub

のように記入作成する

6.ファイルメニューから終了してエクセルに戻る
7.マクロを登録したチェックボックス「が載っているセル」をコピーし、必要なセルに貼り付ける
8.チェックを入れたり外すと、右隣のセルに-1と0が交互に現れる



#おまけ
-1と0のセルにセルの書式設定の表示形式のユーザー定義で
0;"TRUE";"FALSE"
と設定しておくと、TRUEとFALSEの表示になります。「見た目」が重要な時は適宜利用してください。
    • good
    • 5
この回答へのお礼

ありがとうございます。
情報不足ですみませんでした。
助かりました。

お礼日時:2012/11/29 07:06

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qセルの中にもっとも簡単にチェックボックスを置く方法は?

Excel2000を使用しています。

タイトル通りの質問です。いくつものセルにチェックボックスを起きたいと考えています。フォームを使うと大きさが違ったり、なんか違う感じがします。ほかに便利な方法はないですか?

意図することがわかりづらかったら補足致します。

Aベストアンサー

「もっとも簡単に」ですね。

セルをダブルクリックするだけでチェックボックスが配置されます。

VBAを使用しますが、詳しい操作手順を書きますので、テストしてみてください。

要望の詳細が分かりませんので、取り敢えず、セルの中央付近にチェックボックスの
四角部分だけを表示します。

列を限定して機能させるには、3行目で先頭の ' を消して、"A:A" を希望する
列に変更します。 これでA列だけで機能するようになります。

一応、コードの設定方法を書いておきます。

・使用しているシートのシート名タブを右クリックして「コードの表示」を
 指定します。
・開いたコードウィンドウに下記コードをコピーして貼り付けます。
 (「Option Explicit」があれば、その下付近に)
・Alt+ Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。
・以上で設定完了です。 セルをダブルクリックしてみてください。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
  Cancel As Boolean)
'If Application.Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
Cancel = True
With Target
  ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
    DisplayAsIcon:=False, Left:=.Left + .Width / 2 - 5, _
    Top:=.Top + .Height / 2 - 4.6, Width:=10, Height:=12).Select
End With
End Sub
 

「もっとも簡単に」ですね。

セルをダブルクリックするだけでチェックボックスが配置されます。

VBAを使用しますが、詳しい操作手順を書きますので、テストしてみてください。

要望の詳細が分かりませんので、取り敢えず、セルの中央付近にチェックボックスの
四角部分だけを表示します。

列を限定して機能させるには、3行目で先頭の ' を消して、"A:A" を希望する
列に変更します。 これでA列だけで機能するようになります。

一応、コードの設定方法を書いておきます。

・使用している...続きを読む

Qチェックボックスの箱のサイズとフォントサイズは変更できるの?

こんにちわ。

エクセル2000でチェックボックスを作成したのですが、
やや、小さいのでサイズを大きくしたいのです。
ボックスサイズ、ボックスの横に入れる文字の
フォントサイズは大きくできるのでしょうか?
もし、できるのなら方法を教えてください。

よろしくおねがいします。

Aベストアンサー

コントロールツールボックスのチェックボックスならプロパティにFontがあるので変更できます。

フォームのチェックボックスやオプションボタンのフォントサイズは変更できなかったと思いますが、変更したように見せかけはできます。使用上、特に問題はないと思います。(だからダイアログにフォントがない?)

チェックボックスの位置によって、
(1)チェックボックス(四角)がセルの中央にある場合
 チェックボックスのテキストを必要な長さの空白にしてしまいます。
 チェックボックス(四角)の右横のセルにチェックボックスの説明のテキストを入れます。
 セルの書式設定でフォントが変更できます。
(2)チェックボックス(四角)をセルの境目などにセットする場合
 チェックボックスのテキストを必要な長さの空白にしてしまいます。
 図形描写からテキストボックスを選択し、チェックボックスの説明のテキストを入れます。
 テキストボックスは『線なし』にしておきます。2行で表示したりもできます。
 チェックボックスとテキストボックスを重ねて、見た目を調節します。
 テキストボックスを選択し、右クリック→順序→最背面へ移動 とします。

ご参考に。

コントロールツールボックスのチェックボックスならプロパティにFontがあるので変更できます。

フォームのチェックボックスやオプションボタンのフォントサイズは変更できなかったと思いますが、変更したように見せかけはできます。使用上、特に問題はないと思います。(だからダイアログにフォントがない?)

チェックボックスの位置によって、
(1)チェックボックス(四角)がセルの中央にある場合
 チェックボックスのテキストを必要な長さの空白にしてしまいます。
 チェックボックス(四角)の右横のセ...続きを読む

Q2つ以上のチェックボックスを連動させるには?

Eecelで、同一シートに複数のチェックボックスがあるとき、ある特定のチェックボックスにチェックを入れると、他の特定のチェックボックスに自動的にチェックが入るようにするには、どうすればいいのでしょうか?

Aベストアンサー

チェックボックスは「フォーム」のチェックボックスを使用されていますか?
その場合、リンクするセルを指定できるはずです。
ここでVBAを使って
仮に1A1にあるのチェックボックスにチェックを入れた時、
B1、C1のチェックボックスにチェックを入れたいとします。
Sub test()
If Cells(1, 1) = true Then
cells(1,2)=true
cells(1,3)=true
elseif Cells(1, 1) = False Then
cells(1,2)=false
cells(1,3)=false
End if

これをA1のチェックボックスの「マクロを登録」のところで指定して下さい。

これで連動すると思いますが。

Qエクセル 複数のチェックボックスをリンクさせる

こんにちは、エクセル2010を使っています。

チェックボックスについて、解らない事が出てきましたので、教えて頂けませんでしょうか。

book1とbook2にチェックボックスがあります。

本来利用するのは、Book1のチェックボックスなのですが、Book2に作ったチェックボックスにチェックを入れると、Book1のチェックボックスにもチェックが入るようにしたいのです。

詳しい方、教えて頂けませんでしょうか。

よろしくお願い致します。

Aベストアンサー

以下のような手順で、2つのチェックボックスのリンクするセルを同一のセルにします。

ご使用のチェックボックスがフォームのチェックボックスなら、Book1のチェックボックスをで右クリックして「コントロールの書式設定」で「リンクするセル」を指定します。
Book2のチェックボックスで右クリックしてチェックボックスを選択し、数式バーに「=」と入力し、Book1のリンクするセルを選択します(これで「=[Book1]Sheet3!$A$3」のような他ブックを参照する数式になります)。

Qエクセルでチェックボックスをクリックしたらセルに数値を入力&消去

下記のような表を作成しています。
□はチェックボックス(コントロールツールボックスから作成したもの)で、
A1のチェックボックスにチェックするとD1とE1に○印が入り、
チェックを消すと○印も消えるようにしたいのです。
(B,Cのチェックボックスは違うセルに○印を入れるのですが、
他のチェックボックスと○を付ける項目が重複している所もあります)
 ABCDEFG
1□□□
2□□□

コードはこのようなものを書きました。
Private Sub CheckBox1_Click()
Dim teiban As Integer
teiban = ActiveSheet.CheckBox1.Value
Select Case teiban
Case True
Range("D1,E1").Value = "○"
Case False
Range("D1,E1").Value = ""
Case Else
Range("D1,E1").Value = ""
End Select
End Sub

同じ列にあるチェックボックスは違う行で同じ列に○印が入るのですが、
コードはいちいちチェックボックスごとに書かなければいけないでしょうか?

それと、行数を増やす場合があるのですが、1行目をコピーして3行目に
貼り付けてもチェックボックスはコピーされません。
何か方法がありますでしょうか?

もしチェックボックスではこのような事ができないのであれば
他にやり方などあれば教えていただけたらと思います。

使用しているのはWINDOWS98,EXCEL97です。
ご存知の方、よろしくお願いします。

下記のような表を作成しています。
□はチェックボックス(コントロールツールボックスから作成したもの)で、
A1のチェックボックスにチェックするとD1とE1に○印が入り、
チェックを消すと○印も消えるようにしたいのです。
(B,Cのチェックボックスは違うセルに○印を入れるのですが、
他のチェックボックスと○を付ける項目が重複している所もあります)
 ABCDEFG
1□□□
2□□□

コードはこのようなものを書きました。
Private Sub CheckBox1_Click()
Dim teiban As Integer
teiban = ActiveSh...続きを読む

Aベストアンサー

もう回答してもいいんでしょうか・・・?

コントロールツールボックスのチェックボックスはデザインモードならコピーできるはずです。
ただし、この場合は各チェックボックス毎にコードを書く必要があります。共通ルーチンを呼ぶようにできますが、イベントをまとめてつかまえられないので、コントロールの数分イベントを書く必要があるでしょう。VBAには、VBのようにコントロール配列がないからです。(ユーザーフォーム上ではコントロール配列風な書き方もできますが、シート上では行ったことがありません。余りその気ももおきませんが・・・)

フォームのチェックボックスを使えば、チェックボックスを貼り付けるだけで、コードを追加しなくても(1つのコードで)対応可能です。下はその例です。1つのマクロしかありませんが、理屈では何個のチェックボックスがあってももかまいません。必要な分だけチェックボックスをコピーしてください。(何個まで可能かは確認できていません)
フォームとコントロールツールボックスのコントロールの特性の違いを理解して使うべきでしょう。


作り方
0.下のコードを標準モジュールに貼り付けます。
   ※A、B、C列にチェックボックスがある例です。
   ※登録したマクロ内で、チェックボックスの位置を調べています。
   ※位置が決れば、チェックボックスの値で処理が決定できる理屈です。

1.フォームのチェックボックスを使い、セルA1に納まるように配置します。

2.セルA1のチェックボックスを右クリックし、下のマクロを登録します。

3.セルA1のチェックボックスをコピーして、B1、C1に貼り付けます。

4.1行目を選択して、3行目にコピーします。後は必要な回数繰り返します。
   ※下のコードのB、C列の処理は例です。実状にあうように修正して下さい。
      (Excel97 で確認)

ここから

Sub checkBox_MacroTest()
  Dim chkboxVal As Boolean  'チェックボックスの値
  Dim rw As Long       'チェックボックスのある行
  Dim col As Integer     'チェックボックスのある列

  'チェックボックスの値
  chkboxVal = (ActiveSheet.CheckBoxes(Application.Caller).Value = 1)

  'チェックボックスの位置を調べる
  ActiveSheet.CheckBoxes(Application.Caller).Select
    rw = Selection.TopLeftCell.Row
    col = Selection.TopLeftCell.Column
    Selection.TopLeftCell.Select

  '位置によって『○』を付ける位置を決定する。Falseなら消す。
  Select Case col
    Case 1   'A列のチェックボックス。D、E列を操作している
      Cells(rw, 4) = IIf(chkboxVal, "○", "")
      Cells(rw, 5) = IIf(chkboxVal, "○", "")
    Case 2   'B列のチェックボックス。F、G列を操作している(例)
      Cells(rw, 6) = IIf(chkboxVal, "○", "")
      Cells(rw, 7) = IIf(chkboxVal, "○", "")
    Case 3   'C列のチェックボックス。H、I列を操作している(例)
      Cells(rw, 8) = IIf(chkboxVal, "○", "")
      Cells(rw, 9) = IIf(chkboxVal, "○", "")
  End Select
End Sub

もう回答してもいいんでしょうか・・・?

コントロールツールボックスのチェックボックスはデザインモードならコピーできるはずです。
ただし、この場合は各チェックボックス毎にコードを書く必要があります。共通ルーチンを呼ぶようにできますが、イベントをまとめてつかまえられないので、コントロールの数分イベントを書く必要があるでしょう。VBAには、VBのようにコントロール配列がないからです。(ユーザーフォーム上ではコントロール配列風な書き方もできますが、シート上では行ったことがありません。...続きを読む

QEXCELでチェックボックスの一括オンオフ

EXCEL2000を使用してます。
アンケート作成をしており、設問毎にチェックボックスで複数選択できるようにしていますが、1つの設問にチェックボックスが8~10等多くあるため、設問毎にチェックボックスの一括オンオフができるようにしたいのです。

今は、次の記述で、ある設問のみ全てのチェックボックスにレが入りますが、はずす事ができません。
Sub チェック11_Click()
ActiveSheet.CheckBoxes(Array(1, 2, 3)).Value = True
End Sub

どうすれば、チェック11のボックスで、オンオフができるのでしょうか?
どうか教えて頂きますよう、よろしくお願い致します。

Aベストアンサー

あなたのシートで、activesheet.checkboxes(1)やらactivesheet.checkboxes(2)やらactivesheet.checkboxes(3)やらが、具体的にどのチェックボックスの事になっているのか、キチンと正しくあなたご自身がまず把握してから、作業をしてください。


まず練習として、まっさらのシートにフォームのチェックボックスを3個配置します
最初のチェックボックスにマクロの登録を行い、

Sub チェック1_Click()
activesheet.checkboxes(array(2,3)).value = activesheet.checkboxes(1).value
end sub

と登録します。

Qエクセルシート上の[チェックボックス]を一括消去する方法を教えて下さい。

表示]→[ツールバー]→[フォーム]の、[チェックボックス]で作成した、エクセルシート上の[チェックボックス]を一括消去する方法を教えて下さい。右クリック選択して1個ずつ切り取り消去していますが、列削除や編集→クリア→すべて でも消去できず、たくさんあるときは手間がかかります。

Aベストアンサー

すみません。一部訂正します。

図形描画ツールバーは表示されてますか?
表示されてないなら、メニューの表示>ツールバー>図形描画をクリック。

このツールバーの左端のほうに、マウスポインタのような矢印があるのでクリック。(矢印が凹みます)

1)チェックボックスの描画されているあたりを「大きめ(=広め)にドラッグで選択」

2)複数のオブジェクトが選択されるので、削除対象以外が無いことを確認してDelキー押下。
(Ctrlキーを押して図形をクリックすると、追加・除外が可能)

3)図形描画ツールバーの左端のマウスポインタのような矢印をクリック。
 (凹みが戻ります。戻さないとセル選択できません)

シートの表示倍率を小さく=広く見える状態にしておくと、広範囲を指定しやすくなります。

QExcelのVBA・チェックボックスの操作を教えて下さい。

ExcelのVBAで、チェックボックス(ActiveXコントロール)を使用し、各セル毎に設定する方法を教えてください。

はじめまして、VBA初心者です。
下記のように、各セルにチェックボックスを設け、VBA(セル内を値のみにする<Selection.Value = Selection.Value>)で各セル毎にチェックボックスが機能するようにしたいのですが、どのようにすれば宜しいでしょうか?

現状下記のようにチェックボックスを配置しております。
・A列には各番号が振ってあります。
・B列にチェックボックスを配置。
・C列に関数<=Today()>を使用して、設定してあります。
A B C
1 □ 2/23
2 □ 2/23
3 □ 2/23
4 □ 2/23
5 □ 2/23

VBA内での指示は以下になります。
Selection.Value = Selection.Value

ひとつのチェックボックスにはVBAを設定することはできたのですが、各チェックボックス(B2-B5以下)への設定が難航している状態です。

ちなみに下記VBAを設定しました。

Sub 関数値変換()

Range("c7").Select

Selection.Value = Selection.Value

End Sub

※また可能であれば、VBAと関数にて(もしくはいずれかで)、チェックボックスを使用時、TRUEであれば→selection.value、FALSEであれば元の関数に戻す、が行える方法を教えていただけますか。

大変申し訳ございませんが、皆様のお力添えのほどよろしくお願いします。

ExcelのVBAで、チェックボックス(ActiveXコントロール)を使用し、各セル毎に設定する方法を教えてください。

はじめまして、VBA初心者です。
下記のように、各セルにチェックボックスを設け、VBA(セル内を値のみにする<Selection.Value = Selection.Value>)で各セル毎にチェックボックスが機能するようにしたいのですが、どのようにすれば宜しいでしょうか?

現状下記のようにチェックボックスを配置しております。
・A列には各番号が振ってあります。
・B列にチェックボックスを配置。
・C列に関数...続きを読む

Aベストアンサー

こんにちは。

> ExcelのVBAで、チェックボックス(ActiveXコントロール)を使用し、各セル毎に設定する方法を教えてください。

「初心者」となると、
ActiveXコントロールの扱いはまともにやるとなると結構難しいです。
易しい方法もありますが手数が掛かります。
もしもフォームコントロールのチェックボックスでも良ければ、
(ActiveXコントロールに比べてデザイン性・機能性は落ちますが)
かなり簡単に出来ます。
なので、
◆易しいけど手数が掛かる◆ActiveXコントロールを使用する例◆初級向き◆
◆簡単な◆フォームコントロールを使用する例◆初心者向き◆
◆少し難しい◆ActiveXコントロール+クラスを使用する例◆初中級向き◆
の3例挙げておきます。
どれを奨めるでもないので、自分に合ったやり方を見つけてみてください。

その前に、処理内容に関する共通したポイントについて。
まず、チェックボックスをセルに貼り付けるような手順等で
正しい位置(コントロールの左上がセルから食み出さない位置)
に配置してあるならば、
チェックボックスを配したセルのひとつ右のセルへの参照として
 checkbox.TopLeftCell.Offset(, 1) ...のように
一様な多数のチェックボックスに共通した記述が可能になります。
つまりこれは、チェックボックス毎ひとつひとつに
セル範囲を指定する必要はない、ということです。
次に、現在の日付を定数値で設定するだけなら
VBAにはDate()関数があるので
 checkbox.TopLeftCell.Offset(, 1).Value = Date
のような記述が可能です。
> Selection.Value = Selection.Value
> TRUEであれば→selection.value、FALSEであれば元の関数に戻す、が行える方法
Trueであれば現在の日付を定数値で、FalseであればExcel関数"=TODAY()"、
チェックボックスが押されて値が変わったタイミングで
チェックボックスが配されたセルのひとつ右のセルに対して処理をする。
という記述は、条件判別さえ出来れば、さほど難しいものではないです。

問題は、多数あるチェックボックスと
一様な(隣のセルを操作するだけの)処理とを
どのように連動させるか、という点に集約されます。

◆易しいけど手数が掛かる◆ActiveXコントロールを使用する例◆初級向き◆
配置済みのActiveX.チェックボックスはそのままで。
チェックボックス毎にひとつずつプロシージャを書きます。
◆以下、チェックボックスを配置したシートの[シートモジュール]
' ' ==================
Private Sub CheckBox1_Change()
  関数値変換 CheckBox1
End Sub
Private Sub CheckBox2_Change()
  関数値変換 CheckBox2
End Sub
Private Sub CheckBox3_Change()
  関数値変換 CheckBox3
End Sub
' ' … CheckBoxの名前2ヶ所違うだけの同じ記述の繰り返し …
Private Sub CheckBox99_Change()
  関数値変換 CheckBox99
End Sub
' ' ----------------------------------------
Private Sub 関数値変換(oCx As MSForms.CheckBox)
  With oCx
    If .Value = True Then
      .TopLeftCell.Offset(, 1).Value = Date
    Else
      .TopLeftCell.Offset(, 1).Formula = "=today()"
    End If
  End With
End Sub
' ' ==================
プロシージャをコピーして複製を必要な数作り
チェックボックスの名前を慎重に正確に書換えていく
作業が必要です。◆◆

◆簡単な◆フォームコントロールを使用する例◆初心者向き◆
配置済みのActiveX.チェックボックスはすべて破棄します。
◆まず、[標準モジュール]に以下の記述をコピペしてシート名を正しく指定します。
' ' ==================
Sub CheckBoxes_Change()
  With Sheets("Sheet1").Shapes(Application.Caller) ' ★シート名を正しく指定!!
    If .DrawingObject.Value = 1 Then
      .TopLeftCell.Offset(, 1).Value = Date
    Else
      .TopLeftCell.Offset(, 1).Formula = "=today()"
    End If
  End With
End Sub
' ' ==================
◆次に、B1セルにフォームコントロールのチェックボックスを挿入し
右クリックで[マクロの登録]
→表示されたリストから"CheckBoxes_Change"をクリックして選択
→[OK]ボタン
必要なら、位置やサイズの微調整やキャプションや書式の変更を加える。
出来上がったチェックボックスをコピーし
B2、B3、、、と順番に
<次のセルを選択(クリック)して→貼付け>を繰り返して
必要な数のチェックボックスを配置する。これだけでOKです。◆◆

◆少し難しい◆ActiveXコントロール+クラスを使用する例◆初中級向き◆
配置済みのActiveX.チェックボックスはそのままで。
◆まず、[ThisWorkbookモジュール]に以下の記述をコピペしてシート名を正しく指定します。
次回からブックを開いた時に自動で(または直接手動で)
Workbook_Open イベントプロシージャを実行することで
チェックボックスと一様な(隣のセルを操作するだけの)処理とを
連動させるようにVBAが設定してくれます。
(デザインモード移行やエラー終了の場合は
 再度、Workbook_Openを実行して復旧する必要があります)
' ' ==================
Private cClass As Collection
' ' ----------------------------------------
Private Sub Workbook_Open()
Dim o As OLEObject
  Set cClass = New Collection
  For Each o In Sheets("Sheet1").OLEObjects ' ★シート名を正しく指定!!
    If TypeName(o.Object) = "CheckBox" Then
      If o.TopLeftCell.Column = 2 Then ' ★チェックボックスの列位置を正しく指定!!
        cClass.Add New Class1, o.Name
        Call cClass(o.Name).SetEv(o.Object)
      End If
    End If
  Next
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim i As Long
  If cClass Is Nothing Then Exit Sub
  For i = 1 To cClass.Count
    Call cClass(1).CancelEv
    cClass.Remove 1
  Next i
  Set cClass = Nothing
End Sub
' ' ==================

◆次に、
VBE(VBA編集画面)で、
メニュー[挿入][クラスモジュール]→新しく[Class1モジュール]が挿入される
[Class1モジュール]に以下の記述をコピペします。
' ' ==================
Private WithEvents myCx As MSForms.CheckBox
' ' ----------------------------------------
Private Sub myCx_Change()
  With myCx
    If .Value = True Then
      .TopLeftCell.Offset(, 1).Value = Date
    Else
      .TopLeftCell.Offset(, 1).Formula = "=today()"
    End If
  End With
End Sub
Sub SetEv(o As MSForms.CheckBox)
  Set myCx = o
End Sub
Sub CancelEv()
  Set myCx = Nothing
End Sub
' ' ==================
多数のコントロールに同じ処理を実行させるには
このようにクラスモジュールを用いるのが有効です。◆◆
以上です。

こんにちは。

> ExcelのVBAで、チェックボックス(ActiveXコントロール)を使用し、各セル毎に設定する方法を教えてください。

「初心者」となると、
ActiveXコントロールの扱いはまともにやるとなると結構難しいです。
易しい方法もありますが手数が掛かります。
もしもフォームコントロールのチェックボックスでも良ければ、
(ActiveXコントロールに比べてデザイン性・機能性は落ちますが)
かなり簡単に出来ます。
なので、
◆易しいけど手数が掛かる◆ActiveXコントロールを使用する例◆初級向き◆
◆...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング