
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【初月無料キャンペーン実施中】オンライン健康相談gooドクター
24時間365日いつでも医師に健康相談できる!詳しくはコチラ>>
-
条件を指定して連番を振る方法(エクセル)
Excel(エクセル)
-
行に連番をつけたいのですが、空白セルには番号をつけないようにしたい。
その他(ソフトウェア)
-
エクセル 同じ番号に枝番をつける
Excel(エクセル)
-
4
エクセルで条件に一致したセルの隣のセルを取得したい
その他(Microsoft Office)
-
5
空白部分に連番の数字を記入したい(Excel)
Excel(エクセル)
-
6
【Excel2007】 条件を指定し連番を振る方法
Excel(エクセル)
-
7
ある列のセルに特定の文字が入っていたら他のセルに決まった文字を入れる
Word(ワード)
-
8
ExcelのVBAで連番を振る。
Excel(エクセル)
-
9
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
10
Excelで[表1]にあって、[表2]にないものを抽出する関数
その他(Microsoft Office)
-
11
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
12
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
13
excelで通し番号を付けたい
Excel(エクセル)
-
14
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
15
エクセルで数字の特定の位置のみを連番にするには??
その他(コンピューター・テクノロジー)
-
16
Excel VBA 自動で連番をわりふる
Excel(エクセル)
-
17
エクセル グループ毎に番号(連番)を振りたいです。但し、同じデータには同じ番号を振りたいのです。
Excel(エクセル)
-
18
エクセルで横並びの複数データを縦の一本のデータにしたい
Excel(エクセル)
-
19
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
20
Excelで飛ばし連番
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
このカテゴリの人気Q&Aランキング
-
4
エクセルの2ページ目の作り方
-
5
エクセルで、変な矢印がでて、...
-
6
EXCELで2つの数値のうち大きい...
-
7
あるセルに特定の文字列を打つ...
-
8
エクセルのセル内に全角数字を...
-
9
Excel関数で、範囲内の最後のセ...
-
10
(Excel)あるセルに文字を入力...
-
11
EXCELで特定のセルに表示...
-
12
エクセルのセル内の余白の設定...
-
13
EXCEL 2013の設定を工場出荷状...
-
14
縦書き文章で『―』表示を『|』...
-
15
エクセルの画面で十字マークが...
-
16
Excel に貼り付けた図形が、保...
-
17
値が入っているときだけ計算結...
-
18
エクセルである行以下全部を削...
-
19
セル入力文字が、「右のセルに...
-
20
エクセルで表示形式の時刻の「0...
おすすめ情報
公式facebook
公式twitter