- ベストアンサー
エクセルの技
こんなときどうすればよいでしょうか。 (1)エクセルの例えばA列3行目に入力された文字が同じA列内の他の行にあるかどうか、B列に関数を使用して知りたい。できれば何行目にあるかまで知りたい。 (2)データベースにオートフィルタを使用していて、ⅴマークが右に出ている(一番上の行の)セルをクリックしたときに出てくる項目をエクセルの他のSHEETに貼り付けたい。 (2)については便利な方法があれば何ステップが踏む方法でも構わないので教えて下さい。よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
オーソドックスに技と言えるような関数で書いてみました。 まず、(1)について。 B1に指定した数字(ここではA3セルに書き込んだ値)がA列に何個あるかの結果を表示するための関数です。B1に下のように書き込んでください。 =COUNTIF(A:A,A3) これだけです。これは簡単です。次に、何行目にそのデータがあるかを表示する関数です。これはB2セルから下方向へセルをコピーして使用してください。Offset関数とMatch関数の組み合わせです。B2セルに下のように書き込んでください。 =IF(AND(ROW()>2,B1=""),"",IF(ISNA(MATCH($A$3,OFFSET($A$1,IF(ROW()>2,B1,0),0,COUNTA($A:$A)-IF(ROW()>2,B1,0),1),FALSE)),"",IF(ROW()>2,B1,0)+MATCH($A$3,OFFSET($A$1,IF(ROW()>2,B1,0),0,COUNTA($A:$A)-IF(ROW()>2,B1,0),1),FALSE))) 長いですけどがんばってくださいね。結果がビシッと表示されると思います。後は、下方向にコピーするとその次の行はどこ?さらにその次はどこ?と数字が出てきます。 (2)ですが、これはオートフィルターの選択時に重複しないリストを作成したいのかな? もしそうでしたら、私がここに書くよりも下の参考URLのサイトを見てもらうとばっちりできると思います。関数やマクロを使わずとも簡単にできるので覚えておくと結構お得です。
その他の回答 (5)
- ookami1969
- ベストアンサー率14% (137/953)
すみません! #5です! 下記の(2)の回答で「コピーする」のが抜けてましたね。。。 「Ctrl」+「A」→”「Ctrl」+「C」”→「Ctrl」+「PageDown」 としてください。
- ookami1969
- ベストアンサー率14% (137/953)
(1)に関しては みなさんのおっしゃるように =countif($A1:$A○○,A3)とかが普通に使われる手段ですね。 (範囲は固定しないとダメですよ) で そこのフィルタで2とか3とかを抽出するとかです。 (2)については何がしたいのか いまひとつ はっきりしませんが 「ある条件で抽出した結果を別のシートに貼り付けたい」ということであれば フィルタの「オプション」で「○○と等しい」とかで抽出して 「Ctrl」+「A」→「Ctrl」+「PageDown」→「Enter」でOKかと思います。 (というか「僕はいつも こうしてます」って話です)
- 有田 賢治(@ARIKEN43)
- ベストアンサー率50% (563/1116)
bunshiroさん 今晩は! 1:■Excel(エクセル)講座 Q&A(Tips):入力関連↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel/ex-q-a/q_input.html 概要:重複データの入力を防止する(入力規則) を使用します。 2:■Excel(エクセル)講座 Q&A(Tips):入力関連↓ 概要:オートフィルが機能しない時の対処法を参照して下さい。 シート間のコピーについては。 ■Excel(エクセル)講座 Q&A(Tips)目次からシート操作を選択↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel/ex-q-a/index.html#sheet Excelのサイト(お勧め)下記を参考にして下さい。 ■Excel(エクセル)入門/基本/上級/実用講座の総目次↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel/Exl-_zen.htm ■Excel2007(エクセル2007)基本講座の総目次↓ http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/index.html 概要:「よねさんのWordとExcelの小部屋サイト」で図入りで、親切に解説して呉ますのでお気に入りに登録したいサイトです。 エクセルQ&A(Tips) も有り解説に無い分の検索で探せる1番のお勧めです。 ■エクセルの学校・ライブラリ他↓ http://www.excel.studio-kazu.jp/excellib.html 概要:表作成全般・関数・VBA・便利機能・その他・よくある質問・困った等ジャンル別に探せます。(Mac用も一緒に見れます) ■Excel(エクセル)学習室↓ http://www.kenzo30.com/ 概要:Excel (エクセル)の書式設定や関数の使い方など、学習のための材料を提供している「Excel(エクセル)学習室KENZO30」のサイトです。 『エクセル入門・初級編』 『エクセル中級・特別編』 『エクセル ワンポイント編I』 『エクセル ワンポイント編II』『エクセル質問掲示板』 『作品紹介』『リンク集』のジャンル別に分かれて操作法・疑問の解決を初心者でも理解できるサイトで利用価値は有ります。 ■仕事に役立つExcel2007を図解説明・事務仕事をExcel2007で業務効率アップ!↓ http://www.excel-img.com/ 概要:「Excel2007図解説明サイト」でExcel2007の使用法が全て網羅されています。 ■VistaSp1のExcel(エクセル)2007について↓ http://hamachan.info/vista/ 概要:「Vista & 2007Office Systemのサイト」です。 Excelのバージョンが判らないので、両方のサイトを紹介しました。 書式(計算式)のコピーで出来ると思います。
- hallo-2007
- ベストアンサー率41% (888/2115)
(1)だけですが B3セルに =COUNTIF(A:A,A3) と入れるとA3と同じ値がA列に何個あるかが出ます。 もちろん、A3に1個あるので、1ならばA3のみ2以上であれば、他の行にもある。 何行目にあるか C3セルにでも =MATCH(A3,A4:A$65536,FALSE)+ROW(A3) といれるとA3以降で最初の同じ値の行番号がでます。 複数あった場合がどうすればよいのでしょうか? (2)については、重複した部分をのぞいて、コピィしたいということ思いますが D3に =COUNTIF(A3:A$65536,A3) といれて下までコピィしておきます。 オートフィルターで D列の 1の表示させてからコピィしてみては如何でしょうか。 同じような関数ですのでコピィした後の式を確認して意味を理解してみてください。
- imogasi
- ベストアンサー率27% (4737/17069)
(1)はiMatch関数の利用だけ(この関数を知っているかどうかだけ。「技」と言うぐらいであれば、関数を2つ三つ組み合わせるものだ) (2)は表現が良くわからない。 例でもあげて質問すること。 例データ A列 B列 コード 計数 a 1 s 2 d 3 f 4 a 5 w 6 e 7 a 8 a 9 オートフィルターでaを表示して 結果 A列 B列 コード 計数 a 1 a 5 a 8 a 9 と見えるが、見えているセル範囲を範囲指定し、コピーし 10行までは避けてそれ以下に(または別シートに) 貼り付けると、例えば A20:B24に コード 計数 a 1 a 5 a 8 a 9 となる。 質問しているのは、こんなことか?