web-dev-qa-db-ja.com

Excelシートから別のExcelシートにデータを抽出する

特定のデータが次のように配置されたシートがあります。

_X8 - something - something2
X12 - somethingelse - asdfg
X8 - asft - sastaryraavt
X8 - random - random2
_

_X8_というラベルの付いたすべての行をExcelスプレッドシート内の別のシートに抽出するだけで済みます。したがって、上記の例では、2番目のシートはまったく同じように見えますが、_X12_というラベルの付いた2番目の行がありません。

これをどのように行うのでしょうか?

編集:私はそれが関数のようであり、コピーアンドペーストなどを必要としないことを望みます。たとえば、親スプレッドシートで1つの値が変更された場合、たとえば最初のX8行の「何か」の場合、変更は子スプレッドシート(​​X8行のみを含むもの)にも自動的に反映されます。

編集2:=IF(OFFSET(Form!$A$1,ROW(C14)-1,COLUMN(C14)-1)=0,"",OFFSET(Form!$A$1,ROW(C14)-1‌​,COLUMN(C14)-1))を使用して、親シートを新しいシートにミラーリングする方法を理解しました。 特定の単語を含む行を削除する方法(単に空にするだけでなく、完全に削除するなど)、たとえば_X12_についてはまだ混乱しています。さらに、私はGoogleスプレッドシートを使用しているので、Subなどのコードを入力できず、ネイティブ式のみに依存していると思います。

1
crownusa

Googleスプレッドシートを使用する必要がある場合、以下は機能しませんが、コンテンツを条件付きで別のシートにミラ​​ーリングする必要があるあなたや他の人に役立つ場合に備えて、(この質問はExcel用にタグ付けされているため)できるだけ多く提供しますこの。

Excelを使用して、最初のシートにソースデータを配置したら(これが「テーブル」であるかどうかに関係なく)、データ/テーブル領域にカーソルを置き、データリボンから選択します。 テーブルからGet&Transformセクション内)。これにより、クエリエディタが開きます(PowerQueryのように見えます)。ここから、データをフィルタリング、再配置、またはラングリングするために必要な変換または選択を完了することができます。したがって、あなたの場合、最初の列でフィルタリングすることができます。ただし、ここではさらに多くのことができることに注意してください(新しい計算列の追加、列の再配置、列の削除など)。完了したら、ホームリボンで閉じる&ロードを選択します。次に、新しいシートを選択します。

これで、ソースシートテーブルに変更を加えると、作成したクエリが必要な選択と変換を処理して、他のシートにミラ​​ーリングします。変更を確認するには、データリボンの更新をクリックする必要があります。必要に応じて、自動更新をスケジュールすることもできます。 データリボンから接続をクリックし、クエリを選択してプロパティをクリックします。 。

繰り返しますが、残念ながら、これはGoogleスプレッドシートでは機能しません。ただし、オプションとしてネイティブExcelがある場合は役立つ可能性があります(古いバージョンのExcelを使用している場合は、PowerQueryをインストールして同じ機能を取得します): https://www.Microsoft.com/en-us /download/details.aspx?id=39379

1
DeltaHotel