• ベストアンサー

セルの抽出について

今仕事用にエクセルでの表作りをしています。 今あるヒナガタのセルは(縦に)1・3・5・7・9と 記入があります。 これは「=」数式で表の1・2・3・4・5に抽出し 並び替えられました。 問題は次なんです。。 ヒナガタの2・4・6・8・10には 記入がある場合とない場合がありまして… (概ね1~2個くらいしか記入有は上がってこないので) 表の6・7・8のセルに ヒナガタの2・4・6・8・10のうちの記入有のモノだけを 抽出したいのですが…簡単な方法で そのようなことはできるのでしょうか?? 教えてください。困ってます。助けてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.8

ka_na_deです。 未記入のセルに空白文字が記入されているのではないでしょうか? だとしたら、 2)C1セルに   =IF(TRIM(A1)="",0,1)   と入力し、以降コピー&ペースト に変更してください。 まとめると、 1)B1セルに   =MOD(ROW(),2)   と入力し、以降コピー&ペースト 2)C1セルに   =IF(TRIM(A1)="",0,1)   と入力し、以降コピー&ペースト 3)B列~C列を選択し、「コピー」   「編集」→「形式を選択して貼り付け」で「値」にして「OK」 4)A列~C列を選択し、   「データ」→「並べ替え」   「最優先されるキー」を「B列」にして「降順」   「2番目に優先されるキー」を「C列」にして「降順」   「OK」 これで、A列が、 佐藤 鈴木 高橋 杉浦 竹内 inoue abe

その他の回答 (7)

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.7

おはようございます。 A列の空白セルの右側は B列もC列も0になるはずですが、 そうなっていますか? 説明どうりに一つ一つ確実にやってみましょう。 1)2)の数式入力後は、 佐藤   1   1 inoue   0   1 鈴木   1   1       0   0 高橋   1   1 abe    0   1 杉浦   1   1       0   0 竹内   1   1 となっていると思います。 このとき、上部の数式バーには数式が入力されています。 次に、3)を実行したあとは、 見かけの数値は1)2)のあとと変化ありませんが、 中身が数式から数値に変化しています。 上部の数式バーで確認すると、式ではなく値になっています。 4)を行うと、 佐藤   1   1 鈴木   1   1 高橋   1   1 杉浦   1   1 竹内   1   1 inoue   0   1 abe    0   1       0   0       0   0 となると思います。 尚、並べ替えを行う際は、 「データ範囲の先頭行」は「データ」にチェックしてください。

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.6

補足を見ての回答です。 1)B1セルに   =MOD(ROW(),2)   と入力し、以降コピー&ペースト 2)C1セルに   =IF(A1="",0,1)   と入力し、以降コピー&ペースト 3)B列~C列を選択し、「コピー」   「編集」→「形式を選択して貼り付け」で「値」にして「OK」 4)A列~C列を選択し、   「データ」→「並べ替え」   「最優先されるキー」を「B列」にして「降順」   「2番目に優先されるキー」を「C列」にして「降順」   「OK」 これで、A列が、 佐藤 鈴木 高橋 杉浦 竹内 inoue abe と表示されます。 間に空白行がありませんが、問題ですか?

znk
質問者

補足

ありがとうございます! なんとなくあと少しというところまで来た気がします。 ご教授のとおりにやってみました、が… 佐藤 鈴木 高橋 杉浦 竹内 inoue abe のようにinoueとabeの間になぜか空白セルができちゃいました。 やり方まずかったでしょうか??

noname#64582
noname#64582
回答No.5

4で回答した者です。 4番の回答は無視してください。 あなたのやりたいことを勘違いしていました。 私が書いた回答は、 >ヒナガタの2・4・6・8・10のうちの記入有のモノだけを 抽出したい 部分に対応していません。 (【6】までなら大丈夫なのですが) 失礼しました。申し訳ありません。

noname#64582
noname#64582
回答No.4

2行で1セットのデータをバラす方法という意味と理解して回答します。(#1の「この回答への補足」欄の例で書きます。) 【1】まず、A列で1列挿入して、A1~A9を、B1~B9へ移動する。 【2】A1に、 =ROUNDUP(ROW(A1)/2,0) と入力。1と出るはずです。 【3】A1セルをA9までドラッグ。すると、1,1,2,2,3,3・・・と2行づつの連番が振られるはず。 【4】次にデータを抽出したいところ(何もないところ)に数字を振ります。 今回の例では、D1に1、D2に2、D3に3、と入れていきます。 D5に5と入れ終わったら、D1~D5をコピーして、D6に貼りましょう。 【5】すると、D6に1、D7に2、・・・、D10に5と入りました。 つまり、上から順にD列は、1,2,3,4,5,1,2,3,4,5 となってます。 【6】E1に、 =VLOOKUP(D1,$A$1:$B$9,2,0) と入力。「佐藤」と出たはず。 それを、E1~E5までドラッグ。奇数行目だけ抽出されます。 【7】E6に、 =VLOOKUP(D6,$A$1:$B$9,2,1) と入力。「inoue」と出たはず。 それを、E6~E9までドラッグ。偶数行目だけ抽出されます。 ※つまり、2行をワンセットとして、VLOOKUP関数の最後の引数(検索の型)を、0と1で使い分けて、偶数行・奇数行を分解しています。 こうなる理由は割愛します。 したがって、今回の例では、9個のデータなので、4.5セット分です。ですから上記の7番のところでE10までドラッグすると、「竹内」が出てしまうという、意図しない結果となりますので、偶数分のデータでやったほうが良いと思います。 データが200個あるなら100セットです。 でもやっぱり、こういう2行1組のデータは厄介です。 このような形式でシートを作ってしまう人がいますが、それを処理する時に私はこの方法を用いています。 ご希望の形になるか、お試しください。

noname#52504
noname#52504
回答No.3

★A案:数式だけでやる場合  ステップ1 数式を使い、条件に応じて番号を振る。   B1セル:=IF(MOD(ROW(),2)=1,ROW(),IF(A1="",10^5,10^4+ROW()))   として、データの数だけ下方にずるずるコピー(フィル)します。  ステップ2 数式を使い、C列に番号順に表示する。   C1セル:=OFFSET($A$1,MATCH(SMALL($B$1:$B$9999,ROW()),$B$1:$B$9999,0)-1,)   として、データの数だけ下方にずるずるコピー(フィル)します。 ★B案:「並べ替え」機能を併用する場合  ステップ1 A案と同じ  ステップ2 A,B列を選択して、B列を基準に「昇順」で並べ替える。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

初めから、質問に補足のような模擬実例を挙げれば、少しは判りやすかったと思う。回答候補者はどんどんパスして行ったかもしれない。 ーー エクセルの関数は抜き出しは苦手です。 以下はimogasi方式を紹介します。作業列を使うのが欠点ですが。 第1行の上に行挿入してデータを1行下へずらしてください。 空き列であればどこでも良いが、仮にB2に =IF(AND(MOD(ROW(A2),2)=1,A2<>""),MAX($B$1:B1)+1,"") と入れて下方向に式を複写。 結果 A2:B9は a x 1 b c y 2 d z 3 該当行に、上から連番を降ったことになります。 ーー D1-D5には(当初)奇数の行のデータが既に質問者がセットしているはずだが、 D6に =INDEX($A$1:$A30,MATCH(ROW()-5,$B$1:$B$30,0),1) と入れてD8まで式を複写する。 結果 D6:D8 x y z ーー 私は上記では満足してません。 ●質問に、>これは「=」数式で表の1・2・3・4・5に抽出し 並び替えられました。とありますが、 もし=A1,=A3,・・ を私の例ではD1,D2,・・に入れたのなら これなど解決策ではないとおもう。 ●本回答でD8で複写を止めないとエラーが出るが、止める、で満足できるか、などありますが、略。WEBでimogasi方式で紹介してください。過去回答例が出ます。 ●経験が無いから気づかないのだろうが、そもそも1行おきの表構成には関数利用では、難しい面をはらみます。 できるなら避けて、別列にしたほうが良い。

znk
質問者

補足

大変申し訳ありません。 私PC初心者だもんで…上記意味がよくわかりません。 もう少しだけ簡単に教えてください。宜しくお願いします。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

ご質問を読んでも意味不明で解りませんでした。 > 今あるヒナガタのセルは(縦に)1・3・5・7・9と記入があります。 > これは「=」数式で表の1・2・3・4・5に抽出し並び替えられました。 セルにはA1とかB4とか列と行を表すアドレスがありますので、それらを使って状態を再現出来るように質問を工夫された方が良いかと思います。 セルA1~A5 に 1,3,5,7,9 と入力されています、、、、とか、「=」数式でどのセルにどんな関数を入れて、何を何処に抽出したのかなど。 --- ↓こんな意味かなと感じましたけど、、、 エクセル技道場「文字列が入っているセルの隣に連番」 http://www2.odn.ne.jp/excel/waza/function.html#SEC54

znk
質問者

補足

A1 佐藤 A2 inoue A3 鈴木 A4 A5 高橋 A6 abe A7 杉浦 A8 A9 竹内 (※A1・3・5・7・9は必ず記入有 A2・4・6・8はまちまち) …これを↓ B1 佐藤 B2 鈴木 B3 高橋 B4 杉浦 B5 竹内 B6 B7 inoue B8 abe B9 このように抽出したいのですが無理でしょうか? 質問がわかりずらくてすいませんでした。 お力をお貸しください。

関連するQ&A