人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルに関してです。

?下記のようにセルAとセルBの列に数字がならんでいます。CにBにあってAにない文字を表示させるにはどうすればいいですか?この場合は「か」と「き」の表示になります。(そのような設定はエクセルで可能でしょうか?)

1ABC
2ああ
3いい
4うか
5えき
6おわ
7ら○
8け○
9わ○
※○は空欄

Cは1「か」2「き」の表示になるようにするにはどうすればいいですか?
数式があれば少し分かりやすく意味を添えていただければ助かります。

なにとぞよろしくお願い申し上げます。

●質問者: rrr3
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:エクセル セル 数字
○ 状態 :終了
└ 回答数 : 4/5件

▽最新の回答へ

1 ● kaiton
●22ポイント

途中に1列作業列を作る方法ですが..

1行目10行目にデータがあるとします。


C1=IF(AND(B1<>"",ISERROR(VLOOKUP(B1,A$1:A$10,1,FALSE))),ROW(),"")

この式を下にコピー

B列が空白でなく、かつ(And)、Vlookup関数でB列の値をA列から検索しエラーなら > その行番号表示 それ以外なら空白

これで、B列の値のうち、A列に無い行はその行番号がC列に表示されます。


D1=IF(ROW()>COUNT(C$1:C$10),"",INDEX(B$1:B$10,SMALL(C$1:C$10,ROW())))

この式を下にコピー

Count関数でC列の数字の数を調べ、現在の行数より大きければ「空白」

もし否の場合(以下)なら、


1行目などに、見出しがあるなら、Row()の部分はRow()-1など調整が必要です。

C1=IF(AND(B1<>"",ISERROR(VLOOKUP(B1,A$1:A$10,1,FALSE))),ROW()-1,"")

D1=IF(ROW()-1>COUNT(C$1:C$10),"",INDEX(B$1:B$10,SMALL(C$1:C$10,ROW()-1)))


http://www.eurus.dti.ne.jp/yoneyama/Excel/kansu/count.htm#count

http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/vlookup.htm#ind...


2 ● snaruseyahoo
●22ポイント

セルCnにおいて(C列)IF(Bn<>An,Bn,"")としますと、C列には、「あ」{い」は表示されず、「か」「き」から表示されます。ただし、B列に空欄を作る場合は、必ず全角のスペースなどを

入力しておきませんと、C列に0が(B列の値が0とみなされるため)表示されます。

※エクセルでは<>が、NOT equalという意味です。その結果が、真(TRUE)であれば、左側の値Bnが、偽(FALSE)であれば、右側の値""(ヌル文字)が表示されます。

ダミーですが、よろしければごらんください。

http://www.geocities.jp/snaruse_intage/index.html


3 ● zuguimo
●23ポイント

http://q.hatena.ne.jp/1171368032

マクロが使えるようでしたらマクロを使ってください。

ツールーマクロ―VisualBacicEditor

挿入ー標準モジュール

で以下のものを貼り付ければ勝手にやってくれると思います。

関数ではややこしそうで思いつきません。

なおデータ数が10個以上あるときは、"10" をデータの分だけ増やしてください。以上。


Sub Macro1()

'

'

Dim 番号, 次 As Integer '番号,次という名の変数を使うことにします。

次 = 1 '次はC列に書き込む行番号の変数で1から始めます。

For 番号 = 1 To 10 '1行から10行まで検索するために変数を動かします。

If WorksheetFunction.CountIf(Range("A1:A10"), Range("B" & 番号)) = 0 Then

'B列のある行の文字がA列になければC列に書き込みます。

'ワークシート関数のCOUNTIF関数を使い検索します。

Range("C" & 次).Value = Range("B" & 番号).Value

'A列にないときだけC列に書き込みます。

次 = 次 + 1 'C列の次の行に書き込む準備をします。

End If

Next 番号

End Sub


4 ● かえる
●23ポイント

マクロを使ったほうがよいと思います。

ちょっと無理やりですが、以下のやり方で出来ます。


D1?Dxxxまで以下の式を入れます。

=IF(ISNA(MATCH($B1,$A$1:$A$100,0)),1,0)


E1に以下の式を入れます。

=MATCH(1,$D$1:$D$100,0)


E2に以下の式を入れます。

=IF(ISNA(MATCH(1,OFFSET($D$1:$D$100,$E1,0,100,1),0)),"",MATCH(1,OFFSET($D$1:$D$100,$E1,0,100,1),0)+$E1)


E3?Exxxまでは、E2に入れた式をコピペします。


C1に以下の式を入れます。

=IF($E1>0,INDEX($B$1:$B$100,$E1,1),"")


C2?Cxxxまでは、C1に入れた式をコピペします。


これでいかがでしょうか?


http://dummy ←ダミーです

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ