![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
D列の適当なセルに「TRUE」と入力されているのであれば、
B1に=IF(D1,1,"")
B2に=IF(D2,COUNT(B$1:B1)+1,"")として以下コピー
ではいかがでしょうか。
まだ完全に式のほうは理解できていませんが、ちゃんと答えがでますので使わせていただきます。ありがとうございました。
無知なものでもう一つ質問したいのですが、=IF(D1,1,"")の式で(もう一つの式も)、D1の後に=XXと書かなくても使えているというのは、どんな意味があるのでしょうか?
No.8
- 回答日時:
配列数式で出来ました。
(データ)A2:A11(第1行目は、使わないこと)
A列 B列
a1
b
c
a2
s
d
a3
a4
c
b
この中でaの行にだけ連番を振ります。
(関数)B2セルに
=IF(A2:A11="a",MAX($B$1:B1)+1,"")
と入れて、SHIFT+CTRL+ENTERキーを押す(3キー同時に押す)。式の先頭と後尾に{と}がつく。配列数式の利用です。
B2の式をB11まで複写する。
(結果)
上記B列の通り。
配列数式ですか。私にはちょっと分からない世界ですが、ちゃんと答えが出ますね。ありがとうございました。
とりあえずは自分の理解できる式を使わせて頂くことにします。しかし、これからの参考にしたいと思います。
本当にありがとうございました。
No.7
- 回答日時:
#3です。
=IF(D2,COUNT(B$1:B1)+1,"")
の意味は
「もしD2が真(TRUE)ならば、B1からB1まで(一番上のセルから当該セルの上のセルまで)の範囲で数値データの数を数えてそれに1を加えた数とする。もし偽(FALSE)であれば空白とする」
ということです。
ご質問のケースの場合、連番以外は記入しないということのようでしたので、COUNT関数を使って数値の記入されているセルの数を数えて、それを連番に使いました。
ですから、もしD列がTRUEでない場合に、B列に入るのが空白ではなく、例えば「0」など数値になる場合は別の方法にしなければなりません。(例えば「-」などの文字列であれば、数値ではありませんので使用できます)
COUNT関数については下記など参考にして下さい。
http://homepage1.nifty.com/kenzo30/ex_kisotyu/ex …
なお
>D1の後に=XXと書かなくても使えているというのは、どんな意味があるのでしょうか?
=IF(D2=TRUE,COUNT(B$1:B1)+1,"")
と入力しても結果は同じで、「D2が真(TRUE)ならば」という意味になります。この場合「=TRUE」は省略することが可能です。
逆に、D2に文字列が入っていることを条件にする場合、例えば、
=IF(D2="(文字列)",COUNT(B$1:B1)+1,"")
などという式を立てる際に、「D2="適合"」の部分は「D2が(文字列)に等しいならば」という意味になりますが、さらに詳しく言えば「『D2が(文字列)に等しい』という条件が真(TRUE)ならば」と言い換えることもできます。
従って、
=IF(D2="適合"=TRUE,COUNT(B$1:B1)+1,"")
と記述しても同じ結果が得られます。
ただ、ここで言う「=TRUE」は「真である」という意味であって「"TRUE"という文字列に等しい」という意味ではありません。
従って
=IF(D2=TRUE,COUNT(B$1:B1)+1,"")
の式は、
=IF(D2="TRUE",COUNT(B$1:B1)+1,"")
とは異なります。
Excelでは標準書式で入力した場合、「TRUE」は「常に真を返す」という前者の意味になります。(「FALSE(偽)」も同様)。
もし書式を文字列にしてから入力したり、「TRUE」の前に「'」を入れて文字列扱いにすると後者の意味になって、計算結果は変わってきますので注意して下さい。
参考URL:http://homepage1.nifty.com/kenzo30/ex_kisotyu/ex …
ご丁寧な説明ありがとうございました。とても参考になりました。
=TRUEは省略できるのですね、これから役立てたいと思います。エクセル関数の質問をするたびに勉強になるので本当に嬉しいです。
No.6
- 回答日時:
>マクロを使えば可能なのでしょうが、関数だけでできる方法があればそうしたいです。
関数による解は、既に多数の回答がなされています。ご参考までにマクロでの解です。標準モジュールに貼り付けて使用します。
Sub MACRO1()
Dim lngEndCell As Long, lngCounter As Long, i As Long
'B列初期化
Range("B:B").ClearContents
'カウンター初期値
lngCounter = 1
'A列で最終行を取得
lngEndCell = Cells(65536, "A").End(xlUp).Row
'最終行までループ
For i = 1 To lngEndCell
'D列がTRUEであれば
If Cells(i, "D").Value = True Then
'B列にカウント値を記入
Cells(i, "B").Value = lngCounter
'カウント加算
lngCounter = lngCounter + 1
End If
Next i
End Sub
ありがとうございます。
関数が無理ならマクロという手段を考えていました。VBエディターを使うなんて高度な技はわかりませんので、ツールのマクロの記録からどうにかやってみようとは思っていました。しかしどうやら関数だけで解決しそうです。
貴重なお時間をありがとうございました。
No.4
- 回答日時:
多分もっとスマートな方法があると思うのですが、一応結果だけはご希望のものが出ましたので…
A列:連番
D列:IFかなにかで条件付けしてTUREを出してある。
そこで
B列は=COUNTA(D$2:D2)
C列には:=IF(B2=B1,"",B2)
と入れるとご希望の結果が出ましたが…
この回答への補足
一行目を使わずに2行目から使えばできるのですね。ちゃんと答えが出ました。
まだ入り口にしかいませんが、関数の奥の深さには驚かされます。同時にとても勉強になります。
ありがとうございました。
ありがとうございます。
関数の初心者ですので、式の内容をまだ理解するに至っておりません。
>B列は=COUNTA(D$2:D2)
>C列には:=IF(B2=B1,"",B2)
これはB1,C1に入力してコピーすれば良いのでしょうか?
正しい答えが出ないのですが…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) 【画像あり】A1が●+B1と同じ文字がB列にある+C1と同じ文字がC列にある場合D1に〇を付ける 3 2023/03/09 18:18
- その他(Microsoft Office) ある表(10桝程度)の中に数字が入っています。ダブっている数字を除く数字の合計数の計算方法 5 2023/02/15 11:33
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Excel(エクセル) 条件付き書式 別のシートで色付けされたセルデータの転記漏れを防ぐ書式を入れたい 4 2022/04/22 06:36
- Excel(エクセル) IFERROR(IF()IF())のような形の構文が作れません 2 2023/02/05 17:51
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- その他(プログラミング・Web制作) sortの優先キーについて(スプレッドシート) 1 2023/01/17 17:59
- Excel(エクセル) Excelについて A1からA12まで、1月〜12月と入力し、 B1からB12の範囲に、C1とD1に 4 2022/05/26 22:48
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
条件を指定して連番を振る方法(エクセル)
Excel(エクセル)
-
【Excel2007】 条件を指定し連番を振る方法
Excel(エクセル)
-
空白部分に連番の数字を記入したい(Excel)
Excel(エクセル)
-
-
4
行に連番をつけたいのですが、空白セルには番号をつけないようにしたい。
その他(ソフトウェア)
-
5
エクセル 同じ番号に枝番をつける
Excel(エクセル)
-
6
エクセル グループ毎に番号(連番)を振りたいです。但し、同じデータには同じ番号を振りたいのです。
Excel(エクセル)
-
7
エクセルで表示形式の時刻の「0:00」を表示しないようにするには?
Excel(エクセル)
-
8
ExcelのVBAで連番を振る。
Excel(エクセル)
-
9
IF関数などを使って条件に合った「行」を削除するような機能はありますでしょうか?
Excel(エクセル)
-
10
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
11
条件に一致したときに画像を表示したいのですが・・。
Excel(エクセル)
-
12
エクセルで数式を入れても値が空欄になります
Excel(エクセル)
-
13
SUMIF関数で、「ブランク以外を合計」を指定したい
その他(Microsoft Office)
-
14
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
15
エクセルでアルファベットか数値の判定をしたいのですが
Excel(エクセル)
-
16
Excel 表から条件にあう行を別シートに抽出したい
Excel(エクセル)
-
17
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
18
最新の全銀コード表を入手したいのですが・・・
その他(ニュース・社会制度・災害)
-
19
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
20
エクセルの、記録を終了したマクロに内容を追加したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel関数-文字列で自動作成さ...
-
エクセルの関数について教えて...
-
Excelデータをコピペして、ペー...
-
職場の人から聞かれており、こ...
-
ユーザー定義関数をアドイン登...
-
Excelで50個のセルに同じ文字を...
-
スプレッドシート、Excelでの数...
-
Microsoft Officeの中古は信用...
-
エクセルで不等号記号(≠)が上に...
-
スプレッドシートで使う数式を...
-
エクセルでの特別な文字を上に...
-
エクセル日付 文字列の関数がエ...
-
A列とB列を参照してC列に連番を...
-
エクセルVBA、別ブックへ転記す...
-
各ページの1番上の表示について
-
エクセルでセルに標準で入力さ...
-
EXCELの質問です 119から足した...
-
pdfの表をexcelにはりつけて計...
-
Excelのif関数で文字が見えなく...
-
【マクロ】アクティブセルにブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報